The following option descriptions and diagrams describe the Ultra Messaging® Configuration Options available for the LBT-IPC transport.
The Source Session Message mechanism enables the receiver to detect when a source goes away and works similarly to LBT-RU. It operates independently of message writes and reads in the Shared Memory Area.
The maximum period of inactivity (lack of session messages) from an IPC source before the UM delivers an EOS event for all topics using the transport session. Refer to Receiver Configuration and Transport Sessions and Interrelated Configuration Options for additional information.
Desired flow control behavior when multiple receivers have joined the same LBT-IPC transport session. See also Transport LBT-IPC. 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.
Scope: | source |
Type: | lbm_ushort_t |
When to Set: | Can only be set during object initialization. |
Version: | This option was implemented in LBM 4.0 |
String value | Integer value | Description |
---|---|---|
source_paced |
LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_SOURCE_PACED |
Your application writes as fast as it can to the LBT-IPC shared memory area. Slower receivers can experience loss. A source does not consider if any receivers have successfully read a message before it reclaims it. Default for all. |
receiver_paced |
LBM_SRC_TOPIC_ATTR_LBTIPC_BEHAVIOR_RECEIVER_PACED |
Your application writes to the LBT-IPC shared memory area only as fast as the slowest receiver consumes data. A source will not reclaim a message until all receivers have successfully read the message. This slows down all receiver on the LBT-IPC transport session. |
The maximum datagram size that can be generated for a LBT-IPC transport session. The default value is 65535, the minimum is 500 bytes, and the maximum is 65535.
The preferred Transport ID for a specific source's LBT-IPC session. If 0, the UM context attempts to find one in the given Transport ID range of transport_lbtipc_id_low and transport_lbtipc_id_high. Refer to Source Configuration and Transport Sessions for additional information.
Highest transport ID of the range of available LBT-IPC Transport IDs.
Lowest transport ID of the range of available LBT-IPC Transport IDs.
The maximum number of receiving contexts that can join an IPC transport session. Once a receiving context joins an IPC transport session, it can receive messages on multiple topics. Increasing this value increases the amount of shared memory allocated per transport session by a negligible amount.
The mode in which UM operates to process LBT-IPC messages. See also Embedded and Sequential Mode for additional information.
String value | Integer value | Description |
---|---|---|
embedded |
LBM_CTX_ATTR_OP_EMBEDDED |
UM spawns a thread to process received LBT-IPC messages. Default for all. |
sequential |
LBM_CTX_ATTR_OP_SEQUENTIAL |
Your application must call lbm_context_process_lbtipc_messages() to process received LBT-IPC
messages. If you also set the context's operational_mode option to
sequential, your application must donate an additional thread to service lbm_context_process_events() calls. You can use sequential mode
with the C API, but not with the Java API or .NET API. The Java and .NET APIs do not
provide an equivalent lbm_context_process_lbtipc_messages()
API for LBT-IPC. |
Receiver behavior for monitoring the signaling semaphore set by the IPC source when it writes new data to the shared memory area.
Scope: | context |
Type: | int |
When to Set: | Can only be set during object initialization. |
Version: | This option was implemented in LBM 3.5ea2/UME 2.2ea1 |
String value | Integer value | Description |
---|---|---|
pend |
LBM_CTX_ATTR_IPC_RCV_THREAD_PEND |
Receiver waits (sleep) for notification from OS that IPC source has updated the signaling semaphore. This option is best when the IPC source frequently writes new data to the shared area. Default for all. |
busy_wait |
LBM_CTX_ATTR_IPC_RCV_THREAD_BUSY_WAIT |
Provides the lowest latency as the receiver monopolizes the CPU core looking for an incremented semaphore. This option works best for infrequent or sporadic message delivery from the IPC source, but involves a CPU cost. |
Time period between sessions message sent from source to receivers. Refer to Source Configuration and Transport Sessions and Interrelated Configuration Options for additional information.
Size of an LBT-IPC transport's shared memory area. This value may vary across platforms. The actual size of the shared memory area equals the value you specify for this option plus about 64 KB for header information. The minimum value for this option is 65,536. Refer to Source Configuration and Transport Sessions for additional information.
Copyright (c) 2004 - 2014 Informatica Corporation. All rights reserved.