WIRE_PROTOCOL
[QoS Policies]

<<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 {
  DDS::DDS_RTPS_RESERVED_PORT_BUILTIN_UNICAST = 0x0001 << 0,
  DDS::DDS_RTPS_RESERVED_PORT_BUILTIN_MULTICAST = 0x0001 << 1,
  DDS::DDS_RTPS_RESERVED_PORT_USER_UNICAST = 0x0001 << 2,
  DDS::DDS_RTPS_RESERVED_PORT_USER_MULTICAST = 0x0001 << 3,
  DDS::RTPS_RESERVED_PORT_MASK_DEFAULT,
  DDS::RTPS_RESERVED_PORT_MASK_NONE,
  DDS::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 {
  DDS::RTPS_AUTO_ID_FROM_IP = 0,
  DDS::RTPS_AUTO_ID_FROM_MAC = 1
}
 Kind of auto mechanism used to calculate the GUID prefix. More...

Functions

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

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 Data Distribution Service middleware.
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.
static System::UInt32 DDS::WireProtocolQosPolicy::RTPS_AUTO_ID [get]
 Indicates that RTI Data Distribution Service should choose an appropriate host, app, instance or object ID automatically.

Detailed Description

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


Enumeration Type Documentation

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.

See also:
DDS::RtpsReservedPortKindMask
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.

See also:
DDS::RtpsReservedPortKindMask
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.

See also:
DDS::RtpsReservedPortKindMask

Kind of auto mechanism used to calculate the GUID prefix.

See also:
DDS::WireProtocolQosPolicy::rtps_auto_id_kind
Enumerator:
RTPS_AUTO_ID_FROM_IP  Select the IPv4 based algorithm.

RTPS_AUTO_ID_FROM_MAC  Select the MAC based algorithm.

Note to Solaris Users: To use DDS_RTPS_AUTO_ID_FROM_MAC, you must run the RTI Data Distribution Service application while logged in as 'root.'


Function Documentation

static System::String ^ DDS::WireProtocolQosPolicy::get_wireprotocol_qos_policy_name (  )  [inline, static, inherited]

Stringified human-readable name for DDS::WireProtocolQosPolicy.


Properties

RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS [static, get, inherited]

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

Assign DDS::WireProtocolQosPolicy::rtps_well_known_ports to this value to remain compatible with previous versions of the RTI Data Distribution Service 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

RtpsWellKnownPorts_t DDS::RtpsWellKnownPorts_t::INTEROPERABLE_RTPS_WELL_KNOWN_PORTS [static, get, inherited]

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 Data Distribution Service 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

static System::UInt32 DDS::WireProtocolQosPolicy::RTPS_AUTO_ID [static, get, inherited]

Indicates that RTI Data Distribution Service 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 Data Distribution Service 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


RTI Data Distribution Service .Net APIs Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc