4.14. Transport LBT-IPC Operation Options

The following option descriptions and diagrams describe the Ultra Messaging® Configuration Options available for the LBT-IPC transport.

Figure 4-12. An LBT-IPC source goes away

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.

4.14.1. transport_lbtipc_activity_timeout (receiver)

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.

Scope: receiver
Type: lbm_ulong_t
Units: milliseconds
Default value: 60,000 (60 seconds)
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

4.14.2. transport_lbtipc_behavior (source)

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.

4.14.3. transport_lbtipc_datagram_max_size (context)

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.

Scope: context
Type: lbm_uint_t
Units: bytes
Default value: 65535
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 4.1/UME 3.1/UMQ 1.1

4.14.4. transport_lbtipc_id (source)

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.

Scope: source
Type: lbm_uint16_t
Units: bytes
Default value: 0 (use open port)
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

4.14.5. transport_lbtipc_id_high (context)

Highest transport ID of the range of available LBT-IPC Transport IDs.

Scope: context
Type: lbm_uint16_t
Default value: 20,005
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

4.14.6. transport_lbtipc_id_low (context)

Lowest transport ID of the range of available LBT-IPC Transport IDs.

Scope: context
Type: lbm_uint16_t
Default value: 20,001
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

4.14.7. transport_lbtipc_maximum_receivers_per_transport (source)

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.

Scope: source
Type: lbm_ushort_t
Default value: 20
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 4.0

4.14.8. transport_lbtipc_receiver_operational_mode (context)

The mode in which UM operates to process LBT-IPC messages. See also Embedded and Sequential Mode for additional information.

Scope: context
Type: int
When to Set: Can only be set during object initialization.
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.

4.14.9. transport_lbtipc_receiver_thread_behavior (context)

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.

4.14.10. transport_lbtipc_sm_interval (source)

Time period between sessions message sent from source to receivers. Refer to Source Configuration and Transport Sessions and Interrelated Configuration Options for additional information.

Scope: source
Type: lbm_ulong_t
Units: milliseconds
Default value: 10,000 (10 seconds)
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

4.14.11. transport_lbtipc_transmission_window_size (source)

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.

Scope: source
Type: size_t
Units: bytes
Default value: 25165824 (24 MB)
When to Set: Can only be set during object initialization.
Version: This option was implemented in LBM 3.5ea2/UME 2.2ea1

Copyright (c) 2004 - 2014 Informatica Corporation. All rights reserved.