RTI Connext .NET API (legacy)  Version 6.1.1

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

Classes

struct  DDS::RtpsWellKnownPorts_t
 RTPS well-known port mapping configuration. More...
 
struct  DDS::WireProtocolQosPolicy
 Specifies the wire-protocol-related attributes for the DDS::DomainParticipant. More...
 

Enumerations

enum  DDS::RtpsReservedPortKind : UINT32 {
  DDS::RtpsReservedPortKind::DDS_RTPS_RESERVED_PORT_BUILTIN_UNICAST = 0x0001 << 0,
  DDS::RtpsReservedPortKind::DDS_RTPS_RESERVED_PORT_BUILTIN_MULTICAST = 0x0001 << 1,
  DDS::RtpsReservedPortKind::DDS_RTPS_RESERVED_PORT_USER_UNICAST = 0x0001 << 2,
  DDS::RtpsReservedPortKind::DDS_RTPS_RESERVED_PORT_USER_MULTICAST = 0x0001 << 3,
  DDS::RtpsReservedPortKind::RTPS_RESERVED_PORT_MASK_DEFAULT,
  DDS::RtpsReservedPortKind::RTPS_RESERVED_PORT_MASK_NONE,
  DDS::RtpsReservedPortKind::RTPS_RESERVED_PORT_MASK_ALL
}
 RTPS reserved port kind, used to identify the types of ports that can be reserved on domain participant enable. More...
 
enum  DDS::WireProtocolQosPolicyAutoKind : UINT32 {
  DDS::WireProtocolQosPolicyAutoKind::RTPS_AUTO_ID_FROM_IP = 0,
  DDS::WireProtocolQosPolicyAutoKind::RTPS_AUTO_ID_FROM_MAC = 1,
  DDS::WireProtocolQosPolicyAutoKind::RTPS_AUTO_ID_FROM_UUID = 2
}
 Mechanism to automatically calculate the GUID prefix. More...
 

Functions

static System::String ^ DDS::WireProtocolQosPolicy::get_wireprotocol_qos_policy_name ()
 Stringified human-readable name for DDS::WireProtocolQosPolicy. More...
 

Properties

static RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS [get]
 Assign to use well-known port mappings which are compatible with previous versions of the RTI Connext middleware. More...
 
static RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS [get]
 Assign to use well-known port mappings which are compliant with OMG's DDS Interoperability Wire Protocol. More...
 
static System::UInt32 DDS::WireProtocolQosPolicy::RTPS_AUTO_ID [get]
 Indicates that RTI Connext should choose an appropriate host, app, instance or object ID automatically. More...
 

Detailed Description

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

Enumeration Type Documentation

◆ RtpsReservedPortKind

enum DDS::RtpsReservedPortKind : UINT32
strong

RTPS reserved port kind, used to identify the types of ports that can be reserved on domain participant enable.

See also
DDS::WireProtocolQosPolicy::rtps_reserved_port_mask
Enumerator
DDS_RTPS_RESERVED_PORT_BUILTIN_UNICAST 

Select the metatraffic unicast port.

DDS_RTPS_RESERVED_PORT_BUILTIN_MULTICAST 

Select the metatraffic multicast port.

DDS_RTPS_RESERVED_PORT_USER_UNICAST 

Select the usertraffic unicast port.

DDS_RTPS_RESERVED_PORT_USER_MULTICAST 

Select the usertraffic multicast port.

RTPS_RESERVED_PORT_MASK_DEFAULT 

The default value of DDS::WireProtocolQosPolicy::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 DDS::RtpsWellKnownPorts_t 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.

RTPS_RESERVED_PORT_MASK_NONE 

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.

RTPS_RESERVED_PORT_MASK_ALL 

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 DDS::RtpsWellKnownPorts_t 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.

◆ WireProtocolQosPolicyAutoKind

enum DDS::WireProtocolQosPolicyAutoKind : UINT32
strong

Mechanism to automatically calculate the GUID prefix.

See also
DDS::WireProtocolQosPolicy::rtps_auto_id_kind
Enumerator
RTPS_AUTO_ID_FROM_IP 

Builds the GUID prefix using the IPv4 address and process ID.

Uses the IPv4 address of the first up-and-running interface of the host machine and the process ID to build the GUID prefix.

RTPS_AUTO_ID_FROM_MAC 

Builds the GUID prefix using the MAC address and process ID.

Uses the first 32 bits of the MAC address assigned to the first up-and-running interface and the process ID to build the GUID prefix.

Note to Android Users: DDS_RTPS_AUTO_ID_FROM_MAC is not supported in recent versions of Android (6.0 and later).

RTPS_AUTO_ID_FROM_UUID 

Builds the GUID prefix by selecting the UUID-based algorithm (default).

This method of generating the GUID prefix does not require having a network interface and is friendly to IP mobility scenarios in which an RTI Connext application may start in a node that does not have a physical network interface enabled.

Function Documentation

◆ get_wireprotocol_qos_policy_name()

static System::String ^ DDS::WireProtocolQosPolicy::get_wireprotocol_qos_policy_name ( )
inlinestatic

Stringified human-readable name for DDS::WireProtocolQosPolicy.

Properties

◆ RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS

RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS
staticget

Assign to use well-known port mappings which are compatible with previous versions of the RTI Connext middleware.

Assign DDS::WireProtocolQosPolicy::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 DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS:

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 DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS.

See also
DDS::WireProtocolQosPolicy::rtps_well_known_ports
DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS

◆ INTEROPERABLE_RTPS_WELL_KNOWN_PORTS

RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS
staticget

Assign to use well-known port mappings which are compliant with OMG's DDS Interoperability Wire Protocol.

Assign DDS::WireProtocolQosPolicy::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 DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS:

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 DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS.

See also
DDS::WireProtocolQosPolicy::rtps_well_known_ports
DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS

◆ RTPS_AUTO_ID

static System::UInt32 DDS::WireProtocolQosPolicy::RTPS_AUTO_ID
staticget

Indicates that RTI Connext should choose an appropriate host, app, instance or object ID automatically.

If this special value is assigned to DDS::WireProtocolQosPolicy::rtps_host_id, DDS::WireProtocolQosPolicy::rtps_app_id, DDS::WireProtocolQosPolicy::rtps_instance_id, DDS::DataWriterProtocolQosPolicy::rtps_object_id or DDS::DataReaderProtocolQosPolicy::rtps_object_id RTI Connext will assign the ID automatically.

The actual ID value is chosen when the QoS is set: the QoS returned from DDS::DomainParticipant::get_qos, DDS::DataWriter::get_qos or DDS::DataReader::get_qos will never have this value.

QoS:
DDS::WireProtocolQosPolicy::rtps_host_id DDS::WireProtocolQosPolicy::rtps_app_id DDS::WireProtocolQosPolicy::rtps_instance_id