Chapter 4. Reference

Table of Contents
4.1. Introduction
4.2. Major Options
4.3. Resolver Operation Options
4.4. Multicast Resolver Network Options
4.5. Unicast Resolver Network Options
4.6. Transport TCP Network Options
4.7. Transport TCP Operation Options
4.8. Transport LBT-RM Network Options
4.9. Transport LBT-RM Reliability Options
4.10. Transport LBT-RM Operation Options
4.11. Transport LBT-RU Network Options
4.12. Transport LBT-RU Reliability Options
4.13. Transport LBT-RU Operation Options
4.14. Transport LBT-IPC Operation Options
4.15. Transport LBT-RDMA Operation Options
4.16. Transport Acceleration Options
4.17. Multicast Immediate Messaging Network Options
4.18. Multicast Immediate Messaging Reliability Options
4.19. Multicast Immediate Messaging Operation Options
4.20. Late Join Options
4.21. Off-Transport Recovery Options
4.22. Request Network Options
4.23. Request Operation Options
4.24. Response Operation Options
4.25. Implicit Batching Options
4.26. Delivery Control Options
4.27. Wildcard Receiver Options
4.28. Event Queue Options
4.29. Ultra Messaging Persistence Options
4.30. Ultra Messaging Queuing Options
4.31. Ultra Messaging JMS Options
4.32. Hot Failover Operation Options
4.33. Automatic Monitoring Options
4.34. Deprecated Options
4.35. UMS Port Values
4.36. UMS Multicast Group Values
4.37. UMS Timer Interval Values
4.38. Options That May Be Set During Operation
4.39. Options (Callbacks) That Cannot Be Set From a UM Configuration File

4.1. Introduction

4.1.1. Case Sensitivity

All Ultra Messaging® scope, option, and value strings are case-insensitive. Thus, any of context, CONTEXT, and Context are recognized as specifying the "context" scope.

4.1.2. Specifying Interfaces

The *_interface options require a network interface, usually supplied as a string (from a config file via lbm_config() or in source code via *_attr_str_setopt()), the syntax used for network interface specifications is:

a.b.c.d/num
where num is the number of leading 1 bits in the netmask. If the /num is omitted, it defaults to 32 (netmask 255.255.255.255), which means that it must be an exact match for the interface's IP address. However, if /num is supplied, it tells Ultra Messaging to find an interface within that network. This makes it easier to share a configuration file between many (possibly multi-homed) machines on the same network. For example:
context resolver_unicast_interface 192.168.0.0/24
specifies a netmask of 255.255.255.0 and would match the interface 192.168.0.3 on one host, and 192.168.0.251 on another host. You can also set network interfaces by name. When setting a configuration option's interface by name, you must use quotes, as illustrated below.
context resolver_unicast_interface "interfacename"


4.1.3. Socket Buffer Sizes

When specifying send or receive socket buffer sizes, keep the following platform-specific information in mind.

  • Linux

    The kernel value net.core.rmem_max dictates the highest value allowed for a receive socket. The kernel value net.core.wmem_max dictates the highest value allowed for a sending socket. Increase these values to increase the amount of buffering allowed.

  • Windows

    Windows should allow socket buffer sizes to be set very high if needed without requiring registry changes.

See our whitepaper Topics in High Performance Messaging for background and guidelines on UDP buffer sizing.

4.1.4. Reference Entry Format

This section describes the format of each option reference entry.

Each entry begins with a brief description of the option. Following the description is a series of items which define the permissible usage and describes the values for the option.

  • Scope

    Defines the scope to which the option applies.

  • Type

    Defines the data type of the option. The type is required for calls to the *_setopt() and *_getopt() API functions.

  • Units

    Defines the units in which the option value is expressed. This item is optional.

  • Default value

    For range-valued options, indicates the base default value for the option.

  • Byte order

    For options whose value is an IP address or port, defines the byte ordering (Host or Network) expected by the API for *_setopt() calls, and returned by the API for *_getopt() calls.

  • May be set during operation

    If an option may be set during operation, it is so indicated here.

Next, for enumerated-valued options, a table is provided which details the permissible string and integer values, a description of each value, and optional notes for each value. The default value is noted within the description.

Alternately, for switch-valued options, a table is provided which describes the meaning of each of the two possible values. The default value is noted within the description.

4.1.5. Network Compatibility Mode

This section lists the values for the network_compatibility_mode option, that attempts to maintain wire-level backwards compatibility with older releases by blocking the sending of some (though possibly not all) newer message header types. An application using an older UM release typically logs a warning message when receiving an unknown message header type that did not yet exist in that older release. In a mixed UM version environment, Informatica recommnends that your applications filter these unknown message header warning log messages. This option should only be used if such filtering is undesired or not possible.

Note that this option does not change any internal behaviors. It merely prevents the sending new message header types which disables any new functionality that relies on the new message header types for both old and new applications. Other than the warning log message for an application using an earlier release, new message header types do not cause any harm.

String Value Integer Value Description
default LBM_CTX_ATTR_NET_COMPAT_MODE_DEFAULT Network compatibility mode is disabled. UM sends all new message header types.
LBM_3.6 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6 Block any message headers that only an LBM 3.6 or newer application would understand.
LBM_3.6.1 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_1 Block any message headers that only an LBM 3.6.1 or newer application would understand.
LBM_3.6.2 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_2 Block any message headers that only an LBM 3.6.2 or newer application would understand.
LBM_3.6.5 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_3_6_5 Block any message headers that only an LBM 3.6.5 or newer application would understand.
LBM_4.0 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0 Block any message headers that only an LBM 4.0 or newer application would understand.
LBM_4.0.1 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_0_1 Block any message headers that only an LBM 4.0.1 or newer application would understand.
LBM_4.1 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1 Block any message headers that only an LBM 4.1 or newer application would understand.
LBM_4.1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_1 Block any message headers that only an LBM 4.1.1 or newer application would understand.
LBM_4.1.2 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_2 Block any message headers that only an LBM 4.1.1 or newer application would understand.
LBM_4.1.3 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_1_3 Block any message headers that only an LBM 4.1.1 or newer application would understand.
LBM_4.2.1 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_1 Block any message headers that only an LBM 4.2.1 or newer application would understand.
LBM_4.2.2 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_2 Block any message headers that only an LBM 4.2.2 or newer application would understand.
LBM_4.2.3 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_3 Block any message headers that only an LBM 4.2.3 or newer application would understand.
LBM_4.2.4 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_4 Block any message headers that only an LBM 4.2.4 or newer application would understand.
LBM_4.2.5 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_5 Block any message headers that only an LBM 4.2.5 or newer application would understand.
LBM_4.2.6 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_6 Block any message headers that only an LBM 4.2.6 or newer application would understand.
LBM_4.2.7 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_7 Block any message headers that only an LBM 4.2.7 or newer application would understand.
LBM_4.2.8 LBM_CTX_ATTR_NET_COMPAT_MODE_LBM_4_2_8 Block any message headers that only an LBM 4.2.8 or newer application would understand.
UME_3.0 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0 Block any message headers that only an UME 3.0 or newer application would understand.
UME_3.0.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_1 Block any message headers that only an UME 3.0.1 or newer application would understand.
UME_3.0.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_0_2 Block any message headers that only an UME 3.0.2 or newer application would understand.
UME_3.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1 Block any message headers that only an UME 3.1 or newer application would understand.
UME_3.1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_1 Block any message headers that only an UME 3.1.1 or newer application would understand.
UME_3.1.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_2 Block any message headers that only an UME 3.1.2 or newer application would understand.
UME_3.1.3 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_1_3 Block any message headers that only an UME 3.1.3 or newer application would understand.
UME_3.2.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_1 Block any message headers that only an UME 3.2.1 or newer application would understand.
UME_3.2.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_2 Block any message headers that only an UME 3.2.2 or newer application would understand.
UME_3.2.3 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_3 Block any message headers that only an UME 3.2.3 or newer application would understand.
UME_3.2.4 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_4 Block any message headers that only an UME 3.2.4 or newer application would understand.
UME_3.2.5 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_5 Block any message headers that only an UME 3.2.5 or newer application would understand.
UME_3.2.6 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_6 Block any message headers that only an UME 3.2.6 or newer application would understand.
UME_3.2.7 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_7 Block any message headers that only an UME 3.2.7 or newer application would understand.
UME_3.2.8 LBM_CTX_ATTR_NET_COMPAT_MODE_UME_3_2_8 Block any message headers that only an UME 3.2.8 or newer application would understand.
UMQ_1.0 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_0 Block any message headers that only an UMQ 1.0 or newer application would understand.
UMQ_1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1 Block any message headers that only an UMQ 1.1 or newer application would understand.
UMQ_1.1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_1_1_1 Block any message headers that only an UMQ 1.1.1 or newer application would understand.
UMQ_2.0 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0 Block any message headers that only an UMQ 2.0 or newer application would understand.
UMQ_2.0.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_0_1 Block any message headers that only an UMQ 2.0.1 or newer application would understand.
UMQ_2.1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_1 Block any message headers that only an UMQ 2.1.1 or newer application would understand.
UMQ_2.1.3 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_3 Block any message headers that only an UMQ 2.1.3 or newer application would understand.
UMQ_2.1.4 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_4 Block any message headers that only an UMQ 2.1.4 or newer application would understand.
UMQ_2.1.5 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_5 Block any message headers that only an UMQ 2.1.5 or newer application would understand.
UMQ_2.1.6 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_6 Block any message headers that only an UMQ 2.1.6 or newer application would understand.
UMQ_2.1.7 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_7 Block any message headers that only an UMQ 2.1.7 or newer application would understand.
UMQ_2.1.8 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_8 Block any message headers that only an UMQ 2.1.8 or newer application would understand.
UMQ_2.1.9 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_9 Block any message headers that only an UMQ 2.1.9 or newer application would understand.
UMQ_2.1.10 LBM_CTX_ATTR_NET_COMPAT_MODE_UMQ_2_1_10 Block any message headers that only an UMQ 2.1.10 or newer application would understand.
UM_5.0 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0 Block any message headers that only an UM 5.0 or newer application would understand.
UM_5.0.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_0_1 Block any message headers that only an UM 5.0.1 or newer application would understand.
UM_5.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1 Block any message headers that only an UM 5.1 or newer application would understand.
UM_5.1.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_1 Block any message headers that only an UM 5.1.1 or newer application would understand.
UM_5.1.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_1_2 Block any message headers that only an UM 5.1.2 or newer application would understand.
UM_5.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2 Block any message headers that only an UM 5.2 or newer application would understand.
UM_5.2.1 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_1 Block any message headers that only an UM 5.2.1 or newer application would understand.
UM_5.2.2 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_2_2 Block any message headers that only an UM 5.2.2 or newer application would understand.
UM_5.3 LBM_CTX_ATTR_NET_COMPAT_MODE_UM_5_3 Block any message headers that only an UM 5.3 or newer application would understand.

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