RTI Connext Modern C++ API
Version 7.0.0
|
<<extension>> Specifies the multicast address on which a dds::sub::DataReader wants to receive its data and other settings. More...
#include <rti/core/policy/CorePolicy.hpp>
Public Member Functions | |
TransportMulticast () | |
Creates the default policy. More... | |
TransportMulticast (const TransportMulticastSettingsSeq &the_value, TransportMulticastKind the_kind) | |
Creates an instance with the speicfied multicast settings. More... | |
TransportMulticast & | settings (const TransportMulticastSettingsSeq &the_settings) |
A sequence of multicast communications settings. More... | |
TransportMulticastSettingsSeq | settings () const |
Getter (see setter with the same name) More... | |
TransportMulticast & | kind (TransportMulticastKind the_kind) |
A value that specifies a way to determine how to obtain the multicast address. More... | |
TransportMulticastKind | kind () const |
Getter (see setter with the same name) More... | |
<<extension>> Specifies the multicast address on which a dds::sub::DataReader wants to receive its data and other settings.
By default, a dds::pub::DataWriter will send individually addressed packets for each dds::sub::DataReader that subscribes to the topic of the DataWriter – this is known as unicast delivery. Thus, as many copies of the data will be sent over the network as there are DataReaders for the data. The network bandwidth used by a DataWriter will thus increase linearly with the number of DataReaders.
Multicast addressing (on UDP/IP transports) allows multiple DataReaders to receive the same network packet. By using multicast, a dds::pub::DataWriter can send a single network packet that is received by all subscribing applications. Thus the network bandwidth usage will be constant, independent of the number of DataReaders.
Coordinating the multicast address specified by DataReaders can help optimize network bandwidth usage in systems where there are multiple DataReaders for the same dds::topic::Topic.
|
inline |
Creates the default policy.
rti::core::policy::TransportMulticast::TransportMulticast | ( | const TransportMulticastSettingsSeq & | the_value, |
TransportMulticastKind | the_kind | ||
) |
Creates an instance with the speicfied multicast settings.
See individual setters.
TransportMulticast& rti::core::policy::TransportMulticast::settings | ( | const TransportMulticastSettingsSeq & | the_settings | ) |
A sequence of multicast communications settings.
An empty sequence means that multicast is not used by the entity.
The RTPS wire protocol currently limits the maximum number of multicast locators to 16. Note that this is a hard limit that cannot be increased. However, this limit can be decreased by configuring the 'dds.domain_participant.max_announced_locator_list_size' property in the rti::core::policy::Property associated with the dds::domain::qos::DomainParticipantQos.
[default] Empty sequence.
TransportMulticastSettingsSeq rti::core::policy::TransportMulticast::settings | ( | ) | const |
Getter (see setter with the same name)
TransportMulticast& rti::core::policy::TransportMulticast::kind | ( | TransportMulticastKind | the_kind | ) |
A value that specifies a way to determine how to obtain the multicast address.
This field can be set to one of the following two values: rti::core::policy::TransportMulticastKind::AUTOMATIC_TRANSPORT or rti::core::policy::TransportMulticastKind::UNICAST_ONLY_TRANSPORT.
If rti::core::policy::TransportMulticast::value does not have any elements, then multicast will not be used.
If rti::core::policy::TransportMulticast::value first element has an empty address, then the address will be obtained from rti::core::policy::TransportMulticastMapping.
[default] rti::core::policy::TransportMulticastKind::AUTOMATIC_TRANSPORT
TransportMulticastKind rti::core::policy::TransportMulticast::kind | ( | ) | const |
Getter (see setter with the same name)