Value used to control the maximum amount of data buffered in UM for the transport session used for the topic. For the normal multiple receiver behavior, this value represents the total buffered by all TCP receivers. For the bounded_latency and source_paced multiple receiver behavior, this value represents the individual receiver buffered amount. This option affects the transport session underlying the source rather than the source itself. The transport session uses the value from the first source created on the session and ignores subsequent sources. Refer to Source Configuration and Transport Sessions for additional information.
For TCP sessions only. The type of timeout method to use for TCP receivers.
Scope: | receiver |
Type: | int |
When to Set: | Can only be set during object initialization. |
Version: | This option was implemented in LBM 3.3.8/UME 2.0.6. |
String value | Integer value | Description |
---|---|---|
timer |
LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_TIMER |
Timer method that requires new TCP session data to be sent to determine if the connection is alive. Default for all. |
SO_KEEPALIVE |
LBM_RCV_TOPIC_ATTR_TCP_ACTIVITY_TIMEOUT_SO_KEEPALIVE |
Set SO_KEEPALIVE on the TCP connection which uses the TCP keepalive support in the operating system to determine if the connection is alive. When you use the SO_KEEPALIVE method, UM uses transport_tcp_activity_timeout value to set the idle and probe times for SO_KEEPALIVE. The idle time is 90% of the timeout value at most. The probe time is 10% with 10 seconds as the minimum. |
For TCP sessions only. The maximum time that a TCP session may be quiescent before it is deleted and an EOS event is delivered for all topics using this transport session. A value greater than zero turns the timer on.
The threshold of the maximum number of individual messages that are copied into a single buffer before being sent to the TCP source internals. When used with small messages, this allows TCP to use less memory at the expense of an additional copy operation of the data before being sent. The default values are also the maximum allowable values.
The maximum datagram size that can be generated for a TCP transport session. The default value is 65535, the minimum is 500 bytes, and the maximum is 65535.
Applicable only to Windows. Indicate whether the TCP session should set SO_EXCLUSIVEADDRUSE
or not before it binds. The default setting
in Windows allows multiple binds to the same port. By default, UM will set SO_EXCLUSIVEADDRUSE
to
minimize port sharing. Refer to Microsoft's web site for more information on SO_EXCLUSIVEADDRUSE
.
The backlog used in the TCP listen()
call to set the
queue length for incoming connections.
The flow control behavior desired when multiple TCP clients are receiving for a TCP session. If an application is only allowed to send as fast as all receivers can consume data, markedly slower receivers will lose data (have unrecoverably lost UM messages) if they can not keep up with the other faster receivers for the TCP session. Note that at high rates and with receivers that can consume data at fairly similar rates, all receivers may experience some loss at times. This option affects the transport session underlying the source rather than the source itself. The transport session uses the value from the first source created on the session and ignores subsequent sources. Refer to Source Configuration and Transport Sessions for additional information.
String value | Integer value | Description |
---|---|---|
normal |
LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_NORMAL |
The application sends as fast as the slowest receiver consumes data. This slows down all receivers on that TCP session. Default for all. |
bounded_latency |
LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_BOUNDED_LATENCY |
The application sends as fast as the fastest receiver can consume data even if recent data headed for slower receivers must be discarded. |
source_paced |
LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SOURCE_PACED |
The application sends as fast as it can even if recent data headed for any or all receivers must be discarded. |
In the case of multiple receivers, this option determines whether datagrams are sent to each receiver in the established order of receivers, or if receivers are selected in random order for each datagram transmission.
String value | Integer value | Description |
---|---|---|
serial |
LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_SERIAL |
Select receivers to receive a datagram based on current established order. Default for all. |
random |
LBM_SRC_TOPIC_ATTR_TCP_MULTI_RECV_SEND_ORDER_RANDOM
|
For each datagram sent, select receivers in random order, for the sake of "fairness". Note that this option adds a small amount of CPU overhead. |
Whether the TCP sockets used for the transport session should set TCP_NODELAY
or not. (Setting TCP_NODELAY disables Nagle's
algorithm.)
Value used to set SO_RCVBUF
value of the TCP receivers
for topics. In some cases the OS will not allow all of this value to be used. A value of
0 instructs UM to use the default OS values. See the section
on socket buffer sizes for
platform-dependent information.
Whether the TCP session should set SO_REUSEADDR
or not
before it binds. WARNING: This option is not recommended for Microsoft Windows users because
the SO_REUSEADDR
socket option in Windows allows a socket
to forcibly bind to a port in use by another socket. Multiple sockets using the same port
results in indeterminate behavior.
Value used to set the SO_SNDBUF
value of the TCP
session. In some cases the OS will not allow all of this value to be used. A value of 0
instructs UM to use the OS defaults. See the section on socket buffer sizes for platform-dependent
information.
Copyright (c) 2004 - 2014 Informatica Corporation. All rights reserved.