RTI Connext Modern C++ API  Version 5.2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::core::policy::TransportMulticast Class Reference

<<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.
 
 TransportMulticast (const TransportMulticastSettingsSeq &the_value, TransportMulticastKind the_kind)
 Creates an instance with the speicfied multicast settings.
 
TransportMulticastsettings (const TransportMulticastSettingsSeq &the_settings)
 A sequence of multicast communications settings.
 
TransportMulticastSettingsSeq settings () const
 Getter (see setter with the same name)
 
TransportMulticastkind (TransportMulticastKind the_kind)
 A value that specifies a way to determine how to obtain the multicast address.
 
TransportMulticastKind kind () const
 Getter (see setter with the same name)
 

Detailed Description

<<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.

Entity:
dds::sub::DataReader
Properties:
RxO = N/A
Changeable = NO

Constructor & Destructor Documentation

rti::core::policy::TransportMulticast::TransportMulticast ( )
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.

Member Function Documentation

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 four.

[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 it is set to rti::core::policy::TransportMulticastKind::AUTOMATIC_TRANSPORT, the behavior will depend on the rti::core::policy::TransportMulticast::value:
    • 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.

    • If none of the elements in rti::core::policy::TransportMulticast::value is empty, and at least one element has a valid address, then that address will be used.
  • If it is set to rti::core::policy::TransportMulticastKind::UNICAST_ONLY_TRANSPORT, then multicast will not be used.

[default] rti::core::policy::TransportMulticastKind::AUTOMATIC_TRANSPORT

TransportMulticastKind rti::core::policy::TransportMulticast::kind ( ) const

Getter (see setter with the same name)


RTI Connext Modern C++ API Version 5.2.0 Copyright © Sun Jun 21 2015 Real-Time Innovations, Inc