Network Listeners Configuration Reference
Configure the network listeners for the different protocols and gateways.
Admin API HTTP Listener
admin_api.http.enabled
Since v0.8.8
WARNING
We recommend disabling this listener for production and using the HTTS listener instead.
admin_api.http.port
Since v0.8.8
http.port is the TCP port that Bondy uses for exposing the Admin Rest APIs.
admin_api.http.acceptors_pool_size
Since v0.8.8
The number of acceptors for the Admin API http listener. It determines how many HTTP sockets can be accepted concurrently by Bondy.
admin_api.http.acceptors_pool_size
Since v0.8.8
The max number of connections for the Admin API https listener.
admin_api.http.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to.
admin_api.http.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
admin_api.http.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
admin_api.http.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
admin_api.http.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
admin_api.http.nodelay
Since v0.8.8
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
Admin API HTTPS Listener
admin_api.https.enabled
Since v0.8.8
WARNING
We recommend disabling this listener for production and using the HTTS listener instead.
admin_api.https.port
Since v0.8.8
The TCP port that Bondy uses for exposing the Admin APIs.
admin_api.https.acceptors_pool_size
Since v0.8.8
The number of acceptors for the Admin API HTTPS listener. It determines how many HTTP sockets can be accepted concurrently by Bondy.
admin_api.https.acceptors_pool_size
Since v0.8.8
The max number of connections for the Admin API https listener.
admin_api.https.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to.
admin_api.https.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
admin_api.https.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
admin_api.https.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
admin_api.https.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
admin_api.https.nodelay
Since v0.8.8
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
admin_api.https.certfile
Since v0.8.8
Default cert location.
admin_api.https.certfile
Since v0.8.8
Default key location.
admin_api.https.certfile
Since v0.8.8
Default signing authority location.
admin_api.https.versions
Since v0.8.8
A comma separate list of TLS protocol versions that will be supported At the moment Bondy only supports versions 1.2
and 1.3
.
API Gateway HTTP Listener
api_gateway.http.enabled
Since v0.8.8
api_gateway.http.port
Since v0.8.8
The TCP port that Bondy uses for exposing the API Gateway managed APIs.
api_gateway.config_file
Since v0.8.8
The filename of a the API Gateway JSON configuration file, which allows you to statically configure the API Gateway with a list of API Specifications.
api_gateway.http.acceptors_pool_size
Since v0.8.8
api_gateway.http.max_connections
Since v0.8.8
api_gateway.http.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to
api_gateway.http.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
api_gateway.http.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
api_gateway.http.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
api_gateway.http.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
api_gateway.http.nodelay
Since v0.8.8
API Gateway HTTPS Listener
api_gateway.https.enabled
Since v0.8.8
api_gateway.https.port
Since v0.8.8
The TCP port that Bondy uses for exposing the API Gateway managed APIs.
api_gateway.config_file
Since v0.8.8
The filename of a the API Gateway JSON configuration file, which allows you to statically configure the API Gateway with a list of API Specifications.
api_gateway.https.acceptors_pool_size
Since v0.8.8
api_gateway.https.max_connections
Since v0.8.8
api_gateway.https.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to
api_gateway.https.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
api_gateway.https.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
api_gateway.https.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
api_gateway.https.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
api_gateway.https.nodelay
Since v0.8.8
api_gateway.https.certfile
Since v0.8.8
Default cert location.
api_gateway.https.certfile
Since v0.8.8
Default key location.
api_gateway.https.certfile
Since v0.8.8
Default signing authority location.
api_gateway.https.versions
Since v0.8.8
A comma separate list of TLS protocol versions that will be supported At the moment Bondy only supports versions 1.2
and 1.3
. Example: "1.2,1.3".
WAMP WebSockets Listener
Listener
Listener configuration is currently shared with the API Gateway. See
wamp.websocket.ping.enabled
Since v1.0.0
Defines if Websockets PING control message functionality is enabled or not.
This option affects server (Bondy) initiated pings only. Some clients might also initiate ping requests and Bondy will always respond to those even if this option is turned off.
This feature is useful to keep a connection alive and validate the connection is healthy.
Enabling this feature implies having an additional timer per connection and this can be a considerable cost for servers that need to handle large numbers of connections. A better solution in most cases is to let the client handle pings. However, notice web browsers will typically kill websocket connections after 60s and will not initiate PINGs.
wamp.websocket.ping.idle_timeout
Since v1.0.0
If wamp.websocket.ping.enabled
is enabled, this parameter controls the maximum time interval that is permitted to elapse between the point at which the Client finishes transmitting a message and the point it starts sending the next. Notice this is not the same as wamp.websocket.idle_timeout.
wamp.websocket.ping.timeout
Since v1.0.0
If wamp.websocket.ping.enabled is 'on', this parameter controls the amount of time Bondy waits for a ping response from the client. Once that time has passed this counts as a fail attempt (see wamp.websocket.ping.max_attempts
).
wamp.websocket.ping.enabled
Since v1.0.0
If wamp.websocket.ping.enabled
is enabled, this parameter controls how many missed pings are allowed to timeout before Bondy closes the connection.
wamp.websocket.idle_timeout
Since v1.0.0
Drops the connection after a period of inactivity. This option does not take effect when wamp.websocket.ping.enabled
is enabled and wamp.websocket.ping.interval
times wamp.websocket.ping.max_attempts
results in a value higher than this option.
Notice
For some clients using this option alone is not enough to keep a connection alive as the client will drop the connection due to inactivity. If the client supports Websocket PING control messages, enabled them, otherwise set wamp.websocket.ping.enabled
to on.
Web browsers don't typically support Websocket PING control messages.
wamp.websocket.ping.enabled
Since v1.0.0
Maximum frame size allowed by this Websocket handler. Cowboy will close the connection when a client attempts to send a frame that goes over this limit. For fragmented frames this applies to the size of the reconstituted frame.
A value of zero means un unbounded size (internally translated to 'infinity').
wamp.websocket.compression_enabled
Since v1.0.0
Defines if Websocket compression (permessage-deflate extension) is enabled or not. If enabled it will be negotiated with supporting clients.
wamp.websocket.deflate_opts.level
Since v1.0.0
Compression level to use. A value between 0 and 9.
- 0 (none), gives no compression
- 1 gives best speed
- 9 gives best compression
wamp.websocket.deflate.mem_level
Since v1.0.0
Specifies how much memory is to be allocated for the internal compression state. An integer between 1 and 9, where 1 uses minimum memory but is slow and reduces compression ratio while 9 uses maximum memory for optimal speed.
wamp.websocket.deflate.strategy
Since v1.0.0
Tunes the compression algorithm. Use the following values:
default
for normal datafiltered
for data produced by a filter (or predictor)huffman_only
to force Huffman encoding only (no string match)rle
to limit match distances to one (run-length encoding)
Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of filtered is to force more Huffman coding and less string matching; it is somewhat intermediate between default and huffman_only. rle is designed to be almost as fast as huffman_only, but gives better compression for PNG image data.
Strategy affects only the compression ratio, but not the correctness of the compressed output even if it is not set appropriately.
wamp.websocket.deflate.server_context_takeover
Since v1.0.0
Using no_takeover
can severely limit the usefulness of compression.
wamp.websocket.deflate.client_context_takeover
Since v1.0.0
Using no_takeover can severely limit the usefulness of compression.
wamp.websocket.deflate.server_max_window_bits
Since v1.0.0
The base two logarithm of the window size (the size of the history buffer). It is to be in the range 8 through 15. Larger values result in better compression at the expense of memory usage.
wamp.websocket.deflate.client_max_window_bits
Since v1.0.0
The base two logarithm of the window size (the size of the history buffer). It is to be in the range 8 through 15. Larger values result in better compression at the expense of memory usage.
WAMP Rawsocket TCP Listener
wamp.tcp.enabled
Since v0.8.0
wamp.tcp.port
Since v0.8.0
TCP port that Bondy uses for exposing the WAMP raw socket transport.
wamp.tcp.acceptors_pool_size
Since v0.8.0
The ranch acceptors_pool_size for the WAMP raw socket listener.
wamp.tcp.max_connections
Since v0.8.0
The max number of concurrent connections for the WAMP raw socket.
wamp.tcp.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to.
wamp.tcp.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
wamp.tcp.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
wamp.tcp.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
wamp.tcp.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
wamp.tcp.http.nodelay
Since v0.8.8
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
wamp.tcp.ping.enabled
Since v1.0.0
Defines if PING control message functionality is enabled or not.
This option affects server (Bondy) initiated pings only. Some clients might also initiate ping requests and Bondy will always respond to those even if this option is turned off.
This feature is useful to keep a connection alive and validate the connection is healthy.
Enabling this feature implies having an additional timer per connection and this can be a considerable cost for servers that need to handle large numbers of connections. A better solution in most cases is to let the client handle pings.
wamp.tcp.ping.idle_timeout
Since v1.0.0
If wamp.tcp.ping.enabled
is enabled, this parameter controls the maximum time interval that is permitted to elapse between the point at which the Client finishes transmitting a message and the point it starts sending the next. Notice this is not the same as wamp.tcp.idle_timeout
.
wamp.tcp.ping.timeout
Since v1.0.0
If wamp.tcp.ping.enabled
is enabled, this parameter controls the amount of time Bondy waits for a ping response from the client. Once that time has passed this counts as a fail attempt (see wamp.tcp.ping.max_attempts
)
wamp.tcp.ping.max_attempts
Since v1.0.0
If wamp.tcp.ping.enabled
is enabled, this parameter controls how many missed pings are considered a timeout. Thus, after this number of attempts Bondy will drop the connection.
wamp.tcp.idle_timeout
Since v1.0.0
Drops the connection after a period of inactivity. This option does not take effect when wamp.tcp.ping.enabled
is on
and wamp.tcp.ping. interval
times wamp.tcp.ping.max_attempts
results in a value higher than this option.
Notice that for some clients using this option alone is not enough to keep a connection alive as the client will drop the connection due to inactivity. If the client supports tcp PING control messages, enabled them, otherwise e.g. web browsers set wamp.tcp.ping.enabled
to on.
WAMP Rawsocket TLS Listener
wamp.tls.enabled
Since v0.8.0
wamp.tls.port
Since v0.8.0
TCP port that Bondy uses for exposing the WAMP raw socket transport.
wamp.tls.acceptors_pool_size
Since v0.8.0
The ranch acceptors_pool_size for the WAMP raw socket listener.
wamp.tls.max_connections
Since v0.8.0
The max number of concurrent connections for the WAMP raw socket.
wamp.tls.backlog
Since v0.8.8
The maximum length that the queue of pending connections can grow to.
wamp.tls.keepalive
Since v0.8.8
Enables/disables periodic transmission on a connected socket when no other data is exchanged. If the other end does not respond, the connection is considered broken and an error message is sent to the controlling process.
wamp.tls.sndbuf
Since v0.8.8
The minimum size of the send buffer to use for the socket.
wamp.tls.recbuf
Since v0.8.8
The minimum size of the receive buffer to use for the socket.
wamp.tls.buffer
Since v0.8.8
The size of the user-level software buffer used by the driver. Not to be confused with options sndbuf
and recbuf
, which correspond to the Kernel socket buffers.
It is recommended to have val(buffer) >= max(val(sndbuf),val(recbuf))
to avoid performance issues because of unnecessary copying.
val(buffer)
is automatically set to the above maximum when values sndbuf
or recbuf
are set.
wamp.tls.http.nodelay
Since v0.8.8
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
wamp.tls.ping.enabled
Since v1.0.0
Defines if PING control message functionality is enabled or not.
This option affects server (Bondy) initiated pings only. Some clients might also initiate ping requests and Bondy will always respond to those even if this option is turned off.
This feature is useful to keep a connection alive and validate the connection is healthy.
Enabling this feature implies having an additional timer per connection and this can be a considerable cost for servers that need to handle large numbers of connections. A better solution in most cases is to let the client handle pings.
wamp.tls.ping.idle_timeout
Since v1.0.0
If wamp.tls.ping.enabled
is enabled, this parameter controls the maximum time interval that is permitted to elapse between the point at which the Client finishes transmitting a message and the point it starts sending the next. Notice this is not the same as wamp.tls.idle_timeout
.
wamp.tls.ping.timeout
Since v1.0.0
If wamp.tls.ping.enabled
is enabled, this parameter controls the amount of time Bondy waits for a ping response from the client. Once that time has passed this counts as a fail attempt (see wamp.tls.ping.max_attempts
)
wamp.tls.ping.max_attempts
Since v1.0.0
If wamp.tls.ping.enabled
is enabled, this parameter controls how many missed pings are considered a timeout. Thus, after this number of attempts Bondy will drop the connection.
wamp.tls.idle_timeout
Since v1.0.0
Drops the connection after a period of inactivity. This option does not take effect when wamp.tls.ping.enabled
is on
and wamp.tls.ping. interval
times wamp.tls.ping.max_attempts
results in a value higher than this option.
Notice that for some clients using this option alone is not enough to keep a connection alive as the client will drop the connection due to inactivity. If the client supports tcp PING control messages, enabled them, otherwise e.g. web browsers set wamp.tls.ping.enabled
to on.
wamp.tls.certfile
Since v0.8.8
Default cert location.
wamp.tls.certfile
Since v0.8.8
Default key location.
wamp.tls.certfile
Since v0.8.8
Default signing authority location.
wamp.tls.versions
Since v0.8.8
A comma separate list of TLS protocol versions that will be supported At the moment Bondy only supports versions 1.2
and 1.3
.