WIRE_PROTOCOL
[QoS Policies]

<<eXtension>> Specifies the wire protocol related attributes for the DDS_DomainParticipant. More...

Data Structures

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

Defines

#define DDS_RTPS_RESERVED_PORT_MASK_DEFAULT
 The default value of DDS_WireProtocolQosPolicy::rtps_reserved_port_mask.
#define DDS_RTPS_RESERVED_PORT_MASK_NONE
 No bits are set.
#define DDS_RTPS_RESERVED_PORT_MASK_ALL
 All bits are set.

Typedefs

typedef DDS_Long DDS_RtpsReservedPortKindMask
 A mask of DDS_RtpsReservedPortKind bits.

Enumerations

enum  DDS_RtpsReservedPortKind {
  DDS_RTPS_RESERVED_PORT_BUILTIN_UNICAST = 0x0001 << 0,
  DDS_RTPS_RESERVED_PORT_BUILTIN_MULTICAST = 0x0001 << 1,
  DDS_RTPS_RESERVED_PORT_USER_UNICAST = 0x0001 << 2,
  DDS_RTPS_RESERVED_PORT_USER_MULTICAST = 0x0001 << 3
}
 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,
  DDS_RTPS_AUTO_ID_FROM_MAC
}
 Kind of auto mechanism used to calculate the GUID prefix. More...

Variables

struct DDS_RtpsWellKnownPorts_t DDS_RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS
 Assign to use well-known port mappings which are compatible with previous versions of the RTI Data Distribution Service middleware.
struct DDS_RtpsWellKnownPorts_t DDS_INTEROPERABLE_RTPS_WELL_KNOWN_PORTS
 Assign to use well-known port mappings which are compliant with OMG's DDS Interoperability Wire Protocol.
const char *const DDS_WIREPROTOCOL_QOS_POLICY_NAME
 Stringified human-readable name for DDS_WireProtocolQosPolicy.

Detailed Description

<<eXtension>> Specifies the wire protocol related attributes for the DDS_DomainParticipant.


Define Documentation

#define DDS_RTPS_RESERVED_PORT_MASK_DEFAULT

Value:

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

#define DDS_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

#define DDS_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


Typedef Documentation


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.

Kind of auto mechanism used to calculate the GUID prefix.

See also:
DDS_WireProtocolQosPolicy::rtps_auto_id_kind
Enumerator:
DDS_RTPS_AUTO_ID_FROM_IP  Select the IPv4 based algorithm.

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


Variable Documentation

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

See also:
DDS_WireProtocolQosPolicy::rtps_well_known_ports

DDS_INTEROPERABLE_RTPS_WELL_KNOWN_PORTS

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

See also:
DDS_WireProtocolQosPolicy::rtps_well_known_ports

DDS_RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS

Stringified human-readable name for DDS_WireProtocolQosPolicy.


RTI Data Distribution Service C API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc