Configuration Guide
|
The image below shows a simplified relationship between the primary LBT-RM transport network options.
When a source is created, the application can explicitly map it to a transport session by setting the transport_lbtrm_multicast_address (source) and transport_lbtrm_destination_port (source) options. If a previous source was created on the same context with the same group/port pair, this new source will be mapped to the same transport session. Note that two different contexts on the same host may share the same group/port pair, and the resulting transport sessions will be separate and independent.
Alternatively, if the application does not explicitly specify a multicast group and destination port, UM will implicitly assign the new source to a pool of transport sessions defined when the context was created. The pool is defined as a range of multicast groups specified by the options transport_lbtrm_multicast_address_low (context) and transport_lbtrm_multicast_address_high (context). The number of transport sessions in the pool is the range of the two multicast group IP addresses, as represented by a 32-bit number. For example, the default settings 224.10.10.10 and 224.10.10.14 are represented by the numbers 0xE00A0A0A and 0xE00A0A0E. This represents 5 different groups, so the pool contains 5 transport sessions (all with the same destination port).
When a new source is created and the multicast group is not explicitly defined, UM will check to see how many transport sessions are currently active from the pool within the context. If it is less than the number in the pool, then UM will activate the next transport session in the range. However, if the context already has activated all transport sessions in the pool, then the new topic is mapped to one of the existing transport sessions, in round-robin fashion.
Scope: | source |
Type: | lbm_uint16_t |
Default value: | 14400 |
Byte order: | Network |
When to Set: | Can only be set during object initialization. |
Scope: | source |
Type: | struct in_addr |
Default value: | 0.0.0.0 (INADDR_ANY) |
When to Set: | Can only be set during object initialization. |
Scope: | context |
Type: | struct in_addr |
Default value: | 224.10.10.14 |
When to Set: | Can only be set during object initialization. |
Scope: | context |
Type: | struct in_addr |
Default value: | 224.10.10.10 |
When to Set: | Can only be set during object initialization. |
Scope: | context |
Type: | lbm_uint16_t |
Default value: | 14399 |
Byte order: | Host |
When to Set: | Can only be set during object initialization. |
Scope: | context |
Type: | lbm_uint16_t |
Default value: | 14390 |
Byte order: | Host |
When to Set: | Can only be set during object initialization. |