EMA C++ Configuration Guide : 3 Configuration Groups : 3.7 Server Group : 3.7.2 Server Entry Parameters
 
3.7.2 Server Entry Parameters
You can use the following parameters in any <Server> entry, regardless of the ServerType.
For additional information on how to set the Server connection type using the ServerType parameter, refer to Section 3.7.3.
 
Table 16: Universal <Server> Parameters  
Parameter Name
Type
Default
Notes
ConnectionMinPingTimeout
UInt64
20000
Configures the minimum length of time (in milliseconds) to use as a timeout for a connected channel.
ConnectionPingTimeout
UInt64
60000
Specifies the duration (in milliseconds) after which the Enterprise Message API terminates the connection if it does not receive communication or pings from the server.
CompressionThreshold
UInt64
30
Sets the message size threshold (in bytes, the allowed value is 30-UInt32 MAX), above which all messages are compressed (thus individual messages might not be compressed). Different compression types have different behaviors and compression efficiency can vary depending on message size.
CompressionType
Enumeration
None
Specifies the Enterprise Message API’s preferred type of compression. Compression is negotiated between the client and server: if the server supports the preferred compression type, the server will compress data at that level.
Use enumeration values with Enterprise Message API’s programmatic configuration. For further details, refer to Section 4.5. Available values include:
None (0)
ZLib (1)
LZ4 (2)
NOTE: You can configure a server to force a particular compression type, regardless of client settings.
DirectWrite
UInt32
0
Specifies whether to set the direct socket write flag when sending data on a channel.
When the flag is set, every package is sent on the wire immediately on the submit call. If direct write is not set, the package might be placed into an internal queue which is later flushed onto the wire.
Possible values are:
0: Send data without the direct socket write flag.
1: Send data with the direct socket write flag.
For more information on the direct socket write flag and rsslWrite, refer to the Transport API C Edition Developers Guide.
GuaranteedOutputBuffers
UInt64
100
Specifies the number of guaranteed buffers (allocated at initialization time) available for use by each RsslChannel when writing data. Each buffer is created to contain maxFragmentSize bytes.
For details on RsslChannel and maxFragmentSize, refer to the Transport API C++ Edition Developers Guide.
HighWaterMark
UInt64
6000
Specifies the upper buffer-usage threshold for the channel.
InitializationTimeout
UInt64
60
Specifies the time (in seconds) to wait for the successful initialization of a channel.
InterfaceName
EmaString
""
Specifies a character representation of the IP address or hostname of the local network interface over which the Enterprise Message API sends and receives content.
InterfaceName is for use in systems that have multiple network interface cards. If unspecified, the default network interface is used.
MaxFragmentSize
UInt64
6144
Specifies the maximum size of a message fragment that can be sent without being fragmented and then reassembled upon delivery.
Name
EmaString
 
Specifies the Server’s name.
NumInputBuffers
UInt64
100
Specifies the number of buffers used to read data. Buffers are sized according to maxFragmentSize.
For details on RsslChannel and maxFragmentSize, refer to the Transport API C++ Edition Developers Guide.
Port
EmaString
14002
Specifies the port on the remote server to which the Enterprise Message API connects.
ServerSharedSocket
UInt64
0
Specifies whether the server allows socket sharing. Available values include:
0: The server does not allow socket sharing. (this is the default behavior)
1: The server allows socket sharing.
Socket sharing is available only with certain patch levels on Linux 6. Applications that intend to use this feature on Linux 6 must rebuild the RTSDK library (librssl) natively on a Linux 6 platform with the appropriate patch level that supports socket sharing.
For further details on ServerSharedSocket, refer to the Transport API C++ Edition Developers Guide.
ServerType
Enumeration
RSSL_SOCKET
Specifies the type of channel or connection used to connect to the server.
Calling the host function can change this field. For details on this event, refer to Section 4.4.2.
Use enumeration values with Enterprise Message API’s programmatic configuration. For further details, refer to Section 4.5. Available values include RSSL_SOCKET (0), RSSL_ENCRYPTED (1), or RSSL_WEBSOCKET (7).
NOTE: Setting ServerType to RSSL_SOCKET or RSSL_WEBSOCKET has the same behavior. An open WebSocket request from the client side notifies the server to update the socket to a WebSocket connection type. The application is responsible for accepting or rejecting traffic based on a protocol that it intends to support.
SysRecvBufSize
UInt64
65535
Specifies the size (in bytes) of the system's receive buffer for this channel. For exact, effective values, refer to your operating system documentation.
SysSendBufSize
UInt64
65535
Specifies the size (in bytes) of the system's send buffer for this channel. For exact, effective values, refer to your operating system documentation.
TcpNodelay
UInt64
1
Specifies whether to use Nagle’s algorithm when sending data. Available values are:
0: Send data using Nagle’s algorithm.
1: Send data without delay.