RTI Connext Modern C++ API Version 7.3.0

<<extension>> Specifies the wire protocol related attributes for the dds::domain::DomainParticipant. More...

Classes

class  rti::core::policy::WireProtocol
 <<extension>> Configures the write protocol of a dds::domain::DomainParticipant More...
 
struct  rti::core::policy::WireProtocolAutoKind_def
 <<extension>> The definition of the dds::core::safe_enum WireProtocolAutoKind More...
 
class  rti::core::policy::RtpsReservedPortKindMask
 <<extension>> Mask of reserved ports More...
 
class  rti::core::RtpsWellKnownPorts
 <<extension>> Configures the mapping of the RTPS well-known ports More...
 

Typedefs

typedef dds::core::safe_enum< WireProtocolAutoKind_defrti::core::policy::WireProtocolAutoKind
 <<extension>> Safe Enumeration of WireProtocolAutoKind_def More...
 

Functions

static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::all ()
 All bits are set. More...
 
static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::none ()
 No bits are set. More...
 
static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::default_mask ()
 The default value of rti::core::policy::WireProtocol::rtps_reserved_port_mask. More...
 
static RtpsWellKnownPorts rti::core::RtpsWellKnownPorts::Interoperable ()
 Returns an instance containing the port mapping compliant with the OMG DDS Interoperability wire protocol. More...
 
static RtpsWellKnownPorts rti::core::RtpsWellKnownPorts::BackwardsCompatible ()
 Returns an instance containing the port mapping compatible with previous versions of RTI Connext. More...
 

Detailed Description

<<extension>> Specifies the wire protocol related attributes for the dds::domain::DomainParticipant.

Typedef Documentation

◆ WireProtocolAutoKind

Function Documentation

◆ all()

static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::all ( )
inlinestatic

All bits are set.

All of the ports that may be needed by DDS will be reserved when the participant is enabled. With this value set, failure to allocate a port that is computed based on the rti::core::RtpsWellKnownPorts will be detected at this time, and the enable operation will fail.

Note that this will also reserve the usertraffic multicast port which is not actually used unless there are DataReaders that enable multicast but fail to specify a port. To avoid unnecesary resource usage for these ports, use RTPS_RESERVED_PORT_MASK_DEFAULT.

Automatic participant ID selection will be based on finding a participant index with both the discovery (metatraffic) unicast port and usertraffic unicast port available.

See also
RtpsReservedPortKindMask

References rti::core::policy::RtpsReservedPortKindMask::RtpsReservedPortKindMask().

◆ none()

static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::none ( )
inlinestatic

No bits are set.

None of the ports that are needed by DDS will be allocated until they are specifically required. With this value set, automatic participant Id selection will be based on selecting a port for discovery (metatraffic) unicast traffic on a single transport.

See also
RtpsReservedPortKindMask

References rti::core::policy::RtpsReservedPortKindMask::RtpsReservedPortKindMask().

◆ default_mask()

static const RtpsReservedPortKindMask rti::core::policy::RtpsReservedPortKindMask::default_mask ( )
inlinestatic

The default value of rti::core::policy::WireProtocol::rtps_reserved_port_mask.

Most of the ports that may be needed by DDS will be reserved by the transport when the participant is enabled. With this value set, failure to allocate a port that is computed based on the rti::core::RtpsWellKnownPorts will be detected at this time and the enable operation will fail.

This setting will avoid reserving the usertraffic multicast port, which is not actually used unless there are DataReaders that enable multicast but fail to specify a port.

Automatic participant ID selection will be based on finding a participant index with both the discovery (metatraffic) unicast port and usertraffic unicast port available.

See also
RtpsReservedPortKindMask

References rti::core::policy::RtpsReservedPortKindMask::RtpsReservedPortKindMask().

◆ Interoperable()

static RtpsWellKnownPorts rti::core::RtpsWellKnownPorts::Interoperable ( )
inlinestatic

Returns an instance containing the port mapping compliant with the OMG DDS Interoperability wire protocol.

Assign rti::core::policy::WireProtocol::rtps_well_known_ports to this value to use well-known port mappings which are compliant with OMG's DDS Interoperability Wire Protocol.

The following are the rtps_well_known_ports values for rti::core::RtpsWellKnownPorts::Interoperable():

port_base = 7400
domain_id_gain = 250
participant_id_gain = 2
builtin_multicast_port_offset = 0
builtin_unicast_port_offset = 10
user_multicast_port_offset = 1
user_unicast_port_offset = 11

Assuming a maximum port number of 65535 (UDPv4), the above settings enable the use of about 230 domains with up to 120 Participants per node per domain.

These settings are not backwards compatible with previous versions of the RTI Connext middleware that used fixed port mappings. For backwards compability, please use rti::core::RtpsWellKnownPorts::BackwardsCompatible().

See also
rti::core::policy::WireProtocol::rtps_well_known_ports
rti::core::RtpsWellKnownPorts::BackwardsCompatible()

◆ BackwardsCompatible()

static RtpsWellKnownPorts rti::core::RtpsWellKnownPorts::BackwardsCompatible ( )
inlinestatic

Returns an instance containing the port mapping compatible with previous versions of RTI Connext.

Assign rti::core::policy::WireProtocol::rtps_well_known_ports to this value to remain compatible with previous versions of the RTI Connext middleware that used fixed port mappings.

The following are the rtps_well_known_ports values for rti::core::RtpsWellKnownPorts::BackwardsCompatible():

port_base = 7400
domain_id_gain = 10
participant_id_gain = 1000
builtin_multicast_port_offset = 2
builtin_unicast_port_offset = 0
user_multicast_port_offset = 1
user_unicast_port_offset = 3

These settings are not compliant with OMG's DDS Interoperability Wire Protocol. To comply with the specification, please use rti::core::RtpsWellKnownPorts::Interoperable().

See also
rti::core::policy::WireProtocol::rtps_well_known_ports
rti::core::RtpsWellKnownPorts::Interoperable()