RTI Connext C API
Version 5.3.1
|
<<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... | |
Macros | |
#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, DDS_RTPS_AUTO_ID_FROM_UUID } |
Mechanism to automatically 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 Connext 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. | |
<<extension>> Specifies the wire protocol related attributes for the DDS_DomainParticipant.
#define DDS_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.
#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.
#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.
typedef DDS_Long DDS_RtpsReservedPortKindMask |
A mask of DDS_RtpsReservedPortKind bits.
RTPS reserved port kind, used to identify the types of ports that can be reserved on domain participant enable.
Mechanism to automatically calculate the GUID prefix.
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 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_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.
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.
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 Connext middleware that used fixed port mappings. For backwards compability, please use DDS_RTI_BACKWARDS_COMPATIBLE_RTPS_WELL_KNOWN_PORTS.
const char* const DDS_WIREPROTOCOL_QOS_POLICY_NAME |
Stringified human-readable name for DDS_WireProtocolQosPolicy.