RTI Connext C API
Version 6.1.2
|
Specifies a list of topic_expressions and multicast addresses that can be used by an Entity with a specific topic name to receive data. More...
Data Fields | |
struct DDS_TransportMulticastMappingSeq | value |
A sequence of multicast communication mappings. More... | |
Specifies a list of topic_expressions and multicast addresses that can be used by an Entity with a specific topic name to receive data.
This QoS policy provides an alternate way to assign multicast receive addresses to DataReaders. It allows you to perform multicast configuration at the DDS_DomainParticipant level.
To use multicast communication without this QoS policy, you must explicitly assign a multicast receive address on each DDS_DataReader. This can quickly become difficult to configure as more DataReaders of different topics and multicast addresses are added.
With this QoS policy, you can configure a set of multicast addresses on the DDS_DomainParticipant; those addresses will then be automatically assigned to the DomainParticipant's DataReaders. A single configuration on the DDS_DomainParticipant can thus replace per-DataReader configuration.
On the DomainParticipant, the set of assignable addresses can be configured for specific topics. Addresses are configured on topics because efficient usage of multicast will have all DataWriters and DataReaders of a single topic using the same multicast address.
You can specify a mapping between a topic's name and a multicast address. For example, topic 'A' can be assigned to address 239.255.1.1 and topic 'B' can be assigned to address 239.255.1.2.
You can use filter expressions to configure a subset of topics to use a specific list of addresses. For example, suppose topics "X", "Y" and "Z" need to be sent to any address within the range [239.255.1.1, 239.255.1.255]. You can specify an expression on the topic name (e.g. "[X-Z]") corresponding to that range of addresses. Then the DomainParticipant will select an address for a topic whose name matches the expression.
The middleware will use a hash function to perform the mapping from topic to address. Alternatively, you can specify a pluggable mapping function.
IMPORTANT: All the strings defined in each element of the sequence must be assigned using RTI_String_dup("foo");. For example:
mcastMappingElement->addresses = DDS_String_dup("[239.255.1.1,239.255.1.255]");
NOTE: To use this QoS policy, you must:
struct DDS_TransportMulticastMappingSeq DDS_TransportMulticastMappingQosPolicy::value |
A sequence of multicast communication mappings.
[default] Empty sequence.