Application
Configures the operation of the application container.
Application Container Configuration Options | |
---|---|
Class Name (String ) |
|
Description | The class name of an Application that will be constructed upon start-up |
Default | N/A |
Property | babl.application.class.name |
API | ApplicationConfig.applicationClassname |
Idle Strategy (String ) |
|
Description | The name of the idle strategy to use when the server is
launched in DETACHED mode
|
Default | BUSY_SPIN |
Property | babl.application.idle.strategy |
API | ApplicationConfig.applicationIdleStrategy |
Session Container
Configures the operation of the server as a whole.
Session Container Configuration Options | |
---|---|
Directory (String ) |
|
Description | The working directory for the web-socket server. Monitoring files will be created in this directory |
Default | $TMP/babl-server |
Property | babl.server.directory |
API | SessionContainerConfig.serverDirectory |
Bind Address (String ) |
|
Description | The hostname or IP address that the server will listen on for inbound TCP connections |
Default | 0.0.0.0 |
Property | babl.server.bind.address |
API | SessionContainerConfig.bindAddress |
Listen Port (String ) |
|
Description | The port that the server will listen on for inbound TCP connections |
Default | 8080 |
Property | babl.server.listen.port |
API | SessionContainerConfig.listenPort |
Connection Backlog (int ) |
|
Description | The maximum number of pending connections |
Default | 20 |
Property | babl.server.connection.backlog |
API | SessionContainerConfig.connectionBacklog |
Poll Mode Enabled (boolean ) |
|
Description | Enables poll-mode when the number of active sessions is below a configurable limit |
Default | false |
Property | babl.server.poll.mode.enabled |
API | SessionContainerConfig.pollModeEnabled |
Poll Mode Session Limit (int ) |
|
Description | Receive sockets will be polled as part of the event-loop (rather than using select() )
if the active session count is below or at this value
|
Default | 5 |
Property | babl.server.poll.mode.session.limit |
API | SessionContainerConfig.pollModeSessionLimit |
Session Monitoring File Entry Count (int ) |
|
Description | Sets the maximum number of sessions per monitoring file (monitoring files will be created as needed) |
Default | 4096 |
Property | babl.server.session.monitoring.entry.count |
API | SessionContainerConfig.sessionMonitoringFileEntryCount |
Session Poll Limit (int ) |
|
Description | Sets the maximum number of sessions that will be ready for reading per invocation of the server event-loop |
Default | 200 |
Property | babl.server.session.poll.limit |
API | SessionContainerConfig.sessionPollLimit |
Active Session Limit (int ) |
|
Description | Sets the maximum number of sessions for a given container |
Default | 1000 |
Property | babl.server.active.session.limit |
API | SessionContainerConfig.activeSessionLimit |
Connection Validator (String ) |
|
Description | Fully-qualified classname of an implementation of ConnectionValidator |
Default | AlwaysValidConnectionValidator |
Property | babl.server.validation.validator |
API | SessionContainerConfig.connectionValidator |
Validation Timeout Nanos (long ) |
|
Description | Sets the timeout for connections to be validated |
Default | 10s |
Property | babl.server.validation.timeout |
API | SessionContainerConfig.validationTimeoutNanos |
Server Idle Strategy (String ) |
|
Description | Sets the idling strategy used in the Server event-loop. One of BUSY_SPIN,YIELDING,BACK_OFF,SLEEPING .
|
Default | BUSY_SPIN |
Property | babl.server.idle.strategy |
API | SessionContainerConfig.serverIdleStrategy |
Session
Configure per-session settings.
Session Configuration Options | |
---|---|
Maximum Buffer Size (int ) |
|
Description | The maximum size, in bytes that the session's send or receive buffer can grow to |
Default | 32MB |
Property | babl.session.buffer.max.size |
API | SessionConfig.maxBufferSize |
Receive Buffer Size (int ) |
|
Description | The initial size, in bytes of the session's receive buffer (used for encoded web socket frames read from the network) |
Default | 1KB |
Property | babl.session.buffer.receive.size |
API | SessionConfig.receiveBufferSize |
Send Buffer Size (int ) |
|
Description | The initial size, in bytes of the session's send buffer (used for web socket frames queued for writing to the network) |
Default | 1KB |
Property | babl.session.buffer.send.size |
API | SessionConfig.sendBufferSize |
Decode Buffer Size (int ) |
|
Description | The initial size, in bytes of the session's decode buffer (used for assembling decoded web socket frames before delivery to the application) |
Default | 1KB |
Property | babl.session.buffer.decode.size |
API | SessionConfig.sessionDecodeBufferSize |
Decode Maximum Buffer Size (int ) |
|
Description | The maximum size, in bytes of the session's decode buffer (used for assembling decoded web socket frames before delivery to the application) |
Default | 128KB |
Property | babl.session.buffer.decode.max.size |
API | SessionConfig.sessionDecodeBufferMaxSize |
Maximum Web Socket Frame Length (int ) |
|
Description | The maximum length, in bytes of the largest acceptable web socket frame |
Default | 64KB |
Property | babl.session.frame.max.size |
API | SessionConfig.maxWebSocketFrameLength |
Ping Send Interval (long ) |
|
Description | The time, in nanoseconds that an idle session will wait before sending a PING frame to
its peer
|
Default | 5s |
Property | babl.session.ping.interval |
API | SessionConfig.pingIntervalNanos |
Pong Response Timeout (long ) |
|
Description | The time, in nanoseconds that a session will wait before a PONG response before closing
|
Default | 30s |
Property | babl.session.pong.response.timeout |
API | SessionConfig.pongResponseTimeoutNanos |
Socket
Configures network socket settings.
Socket Configuration Options | |
---|---|
Send Buffer Size (int ) |
|
Description | The size, in bytes of the session's socket send buffer (SO_SND_BUF ) |
Default | 64KB |
Property | babl.socket.send.buffer.size |
API | SocketConfig.sendBufferSize |
Receive Buffer Size (int ) |
|
Description | The size, in bytes of the session's socket receive buffer (SO_RCV_BUF ) |
Default | 64KB |
Property | babl.socket.receive.buffer.size |
API | SocketConfig.receiveBufferSize |
TCP No Delay Enabled (boolean ) |
|
Description | Indicates whether Nagle's Algorithm should be disabled (SO_TCP_NODELAY ) |
Default | false |
Property | babl.socket.tcpNoDelay.enabled |
API | SocketConfig.tcpNoDelay |
Proxy
Configures the operation of the IPC transport between the session container and the application.
Only used when server deployment mode is DETACHED
.
Proxy Configuration Options | |
---|---|
Server Adapter Poll Fragment Limit (int ) |
|
Description | The maximum number of fragments processed by the server adapter for a single poll call
|
Default | 50 |
Property | babl.proxy.server.adapter.poll.limit |
API | ProxyConfig.serverAdapterPollFragmentLimit |
Application Adapter Poll Fragment Limit (int ) |
|
Description | The maximum number of fragments processed by the application adapter for a single poll
call
|
Default | 40 |
Property | babl.proxy.application.adapter.poll.limit |
API | ProxyConfig.applicationAdapterPollFragmentLimit |
Server Stream Base ID (int ) |
|
Description | The starting stream ID for server instances |
Default | 6000 |
Property | babl.proxy.server.stream.base.id |
API | ProxyConfig.serverStreamBaseId |
Application Stream Base ID (int ) |
|
Description | The starting stream ID for application instances |
Default | 5000 |
Property | babl.proxy.application.stream.base.id |
API | ProxyConfig.applicationStreamBaseId |
Launch Media Driver (boolean ) |
|
Description | Indicates whether an Aeron MediaDriver should be launched for use by proxies |
Default | false |
Property | babl.proxy.driver.launch |
API | ProxyConfig.launchMediaDriver |
Media Driver Directory (String ) |
|
Description | Indicates where the MediaDriver should be launched |
Default | ${java.io.tmpdir}/proxy-driver |
Property | babl.proxy.driver.dir |
API | ProxyConfig.mediaDriverDir |
Performance Mode (String ) |
|
Description | Configures the performance level of the launched MediaDriver |
Default | PerformanceMode.HIGH |
Property | babl.performance.mode |
API | PerformanceConfig.performanceMode |
JVM Settings
For best performance, set the following system properties:
-Djava.lang.Integer.IntegerCache.high=65536
-Djava.net.preferIPv4Stack=true
-XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields
-XX:BiasedLockingStartupDelay=0