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

<<extension>> Specifies a subset of transports and a port number that can be used by a dds::core::Entity to receive data. More...

#include <rti/core/policy/CorePolicy.hpp>

Public Member Functions

 TransportUnicast ()
 Creates the default policy.
 
 TransportUnicast (const rti::core::TransportUnicastSettingsSeq &settings)
 Creates an instance with the specified settings.
 
TransportUnicastsettings (const rti::core::TransportUnicastSettingsSeq &value)
 Sets the unicast settings.
 
rti::core::TransportUnicastSettingsSeq settings () const
 Gets the unicast settings.
 

Detailed Description

<<extension>> Specifies a subset of transports and a port number that can be used by a dds::core::Entity to receive data.

Entity:
dds::domain::DomainParticipant, dds::sub::DataReader, dds::pub::DataWriter
Properties:
RxO = N/A
Changeable = NO

Usage

RTI Connext may send data to a variety of Entities, not just DataReaders. For example, reliable DataWriters may receive ACK/NACK packets from reliable DataReaders.

During discovery, each dds::core::Entity announces to remote applications a list of (up to 16) unicast addresses to which the remote application should send data (either user data packets or reliable protocol meta-data such as ACK/NACKs and heartbeats). 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.

By default, the list of addresses is populated automatically with values obtained from the enabled transport plug-ins allowed to be used by the Entity (see rti::core::policy::TransportBuiltin and rti::core::policy::TransportSelection). Also, the associated ports are automatically determined (see rti::core::RtpsWellKnownPorts).

Use this QoS policy to manually set the receive address list for an Entity. You may optionally set a port to use a non-default receive port as well. Only the first 16 addresses will be used.

RTI Connext will create a receive thread for every unique port number that it encounters (on a per transport basis).

  • For a dds::domain::DomainParticipant, this QoS policy sets the default list of addresses used by other applications to send user data for local DataReaders.
  • For a dds::sub::DataReader, if set, then other applications will use the specified list of addresses to send user data (and reliable protocol packets for reliable DataReaders). Otherwise, if not set, the other applications will use the addresses set by the dds::domain::DomainParticipant.
  • For a reliable dds::pub::DataWriter, if set, then other applications will use the specified list of addresses to send reliable protocol packets (ACKS/NACKS) on the behalf of reliable DataReaders. Otherwise, if not set, the other applications will use the addresses set by the dds::domain::DomainParticipant.

Constructor & Destructor Documentation

rti::core::policy::TransportUnicast::TransportUnicast ( )
inline

Creates the default policy.

rti::core::policy::TransportUnicast::TransportUnicast ( const rti::core::TransportUnicastSettingsSeq settings)
explicit

Creates an instance with the specified settings.

Member Function Documentation

TransportUnicast& rti::core::policy::TransportUnicast::settings ( const rti::core::TransportUnicastSettingsSeq value)

Sets the unicast settings.

An empty sequence means that applicable defaults specified by elsewhere (e.g. dds::domain::qos::DomainParticipantQos::default_unicast) should be used.

The RTPS wire protocol currently limits the maximum number of unicast 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.

See Also
dds::domain::qos::DomainParticipantQos::default_unicast
rti::core::TransportUnicastSettingsSeq rti::core::policy::TransportUnicast::settings ( ) const

Gets the unicast settings.


RTI Connext Modern C++ API Version 5.3.0 Copyright © Sun Jun 25 2017 Real-Time Innovations, Inc