Network Listeners Configuration Reference
Configure the network listeners for the different protocols and gateways.
Admin API HTTP Listener
WARNING
We recommend disabling this listener for production and using the HTTS listener instead.
http.port is the TCP port that Bondy uses for exposing the Admin Rest APIs.
The number of acceptors for the Admin API http listener. It determines how many HTTP sockets can be accepted concurrently by Bondy.
The max number of connections for the Admin API https listener.
The maximum length that the queue of pending connections can grow to.
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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.
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
WARNING
We recommend disabling this listener for production and using the HTTS listener instead.
The TCP port that Bondy uses for exposing the Admin APIs.
The number of acceptors for the Admin API HTTPS listener. It determines how many HTTP sockets can be accepted concurrently by Bondy.
The max number of connections for the Admin API https listener.
The maximum length that the queue of pending connections can grow to.
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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.
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
Default cert location.
Default key location.
Default signing authority location.
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
The TCP port that Bondy uses for exposing the API Gateway managed APIs.
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.
The maximum length that the queue of pending connections can grow to
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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 Listener
The TCP port that Bondy uses for exposing the API Gateway managed APIs.
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.
The maximum length that the queue of pending connections can grow to
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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.
Default cert location.
Default key location.
Default signing authority location.
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
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.
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.
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
).
If wamp.websocket.ping.enabled
is enabled, this parameter controls how many missed pings are allowed to timeout before Bondy closes the connection.
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.
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').
Defines if Websocket compression (permessage-deflate extension) is enabled or not. If enabled it will be negotiated with supporting clients.
Compression level to use. A value between 0 and 9.
- 0 (none), gives no compression
- 1 gives best speed
- 9 gives best compression
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.
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.
Using no_takeover
can severely limit the usefulness of compression.
Using no_takeover can severely limit the usefulness of compression.
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.
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
TCP port that Bondy uses for exposing the WAMP raw socket transport.
The ranch acceptors_pool_size for the WAMP raw socket listener.
The max number of concurrent connections for the WAMP raw socket.
The maximum length that the queue of pending connections can grow to.
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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.
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
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.
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
.
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
)
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.
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
TCP port that Bondy uses for exposing the WAMP raw socket transport.
The ranch acceptors_pool_size for the WAMP raw socket listener.
The max number of concurrent connections for the WAMP raw socket.
The maximum length that the queue of pending connections can grow to.
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.
The minimum size of the send buffer to use for the socket.
The minimum size of the receive buffer to use for the socket.
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.
If enabled, option TCP_NODELAY is turned on for the socket, which means that also small amounts of data are sent immediately.
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.
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
.
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
)
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.
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.
Default cert location.
Default key location.
Default signing authority location.
A comma separate list of TLS protocol versions that will be supported At the moment Bondy only supports versions 1.2
and 1.3
.