RTI Connext C API
Version 5.0.0
|
Configures the mechanism used by the middleware to automatically discover and connect with new remote applications. More...
Data Fields | |
struct DDS_StringSeq | enabled_transports |
The transports available for use by the Discovery mechanism. | |
struct DDS_StringSeq | initial_peers |
Determines the initial list of peers that will be contacted by the Discovery mechanism to send announcements about the presence of this participant. | |
struct DDS_StringSeq | multicast_receive_addresses |
Specifies the multicast group addresses on which discovery-related meta-traffic can be received by the DomainParticipant. | |
DDS_Long | metatraffic_transport_priority |
The transport priority to use for the Discovery meta-traffic. | |
DDS_Boolean | accept_unknown_peers |
Whether to accept a new participant that is not in the initial peers list. | |
Configures the mechanism used by the middleware to automatically discover and connect with new remote applications.
This QoS policy identifies where on the network this application can potentially discover other applications with which to communicate.
The middleware will periodically send network packets to these locations, announcing itself to any remote applications that may be present, and will listen for announcements from those applications.
This QoS policy is an extension to the DDS standard.
struct DDS_StringSeq DDS_DiscoveryQosPolicy::enabled_transports |
The transports available for use by the Discovery mechanism.
Only these transports can be used by the discovery mechanism to send meta-traffic via the builtin endpoints (built-in DDS_DataReader and DDS_DataWriter).
Also determines the unicast addresses on which the Discovery mechanism will listen for meta-traffic. These along with the domain_id
and participant_id
determine the unicast locators on which the Discovery mechanism can receive meta-data.
The memory for the strings in this sequence is managed according to the conventions described in Conventions. In particular, be careful to avoid a situation in which RTI Connext allocates a string on your behalf and you then reuse that string in such a way that RTI Connext believes it to have more memory allocated to it than it actually does.
Alias names for the builtin transports are defined in TRANSPORT_BUILTIN.
[default] Empty sequence. All the transports available to the DomainParticipant are available for use by the Discovery mechanism.
[range] Sequence of non-null,non-empty strings.
struct DDS_StringSeq DDS_DiscoveryQosPolicy::initial_peers |
Determines the initial list of peers that will be contacted by the Discovery mechanism to send announcements about the presence of this participant.
If there is a remote peer DDS_DomainParticipant such as is described in this list, it will become aware of this participant and will engage in the Discovery protocol to exchange meta-data with this participant.
Each element of this list must be a peer
descriptor in the proper format (see Peer Descriptor Format).
[default] See NDDS_DISCOVERY_PEERS
[range] Sequence of arbitrary length.
struct DDS_StringSeq DDS_DiscoveryQosPolicy::multicast_receive_addresses |
Specifies the multicast group addresses on which discovery-related meta-traffic can be received by the DomainParticipant.
The multicast group addresses on which the Discovery mechanism will listen for meta-traffic.
Each element of this list must be a valid multicast address (IPv4 or IPv6) in the proper format (see Address Format).
The domain_id
determines the multicast port on which the Discovery mechanism can receive meta-data.
If NDDS_DISCOVERY_PEERS does not contain a multicast address, then the string sequence DDS_DiscoveryQosPolicy::multicast_receive_addresses is cleared and the RTI discovery process will not listen for discovery messages via multicast.
If NDDS_DISCOVERY_PEERS contains one or more multicast addresses, the addresses will be stored in DDS_DiscoveryQosPolicy::multicast_receive_addresses, starting at element 0. They will be stored in the order they appear NDDS_DISCOVERY_PEERS.
Note: Currently, RTI Connext will only listen for discovery traffic on the first multicast address (element 0) in DDS_DiscoveryQosPolicy::multicast_receive_addresses.
[default] See NDDS_DISCOVERY_PEERS
[range] Sequence of length [0,1], whose elements are multicast addresses. Currently only the first multicast address (if any) is used. The rest are ignored.
DDS_Long DDS_DiscoveryQosPolicy::metatraffic_transport_priority |
The transport priority to use for the Discovery meta-traffic.
The discovery metatraffic will be sent by the built-in DDS_DataWriter using this transport priority.
[default] 0
DDS_Boolean DDS_DiscoveryQosPolicy::accept_unknown_peers |
Whether to accept a new participant that is not in the initial peers list.
If DDS_BOOLEAN_FALSE, the participant will only communicate with those in the initial peers list and those added via DDS_DomainParticipant_add_peer().
If DDS_BOOLEAN_TRUE, the participant will also communicate with all discovered remote participants.
Note: If accept_unknown_peers is DDS_BOOLEAN_FALSE and shared memory is disabled, applications on the same node will not communicate if only 'localhost' is specified in the peers list. If shared memory is disabled or 'shmem://' is not specified in the peers list, to communicate with other applications on the same node through the loopback interface, you must put the actual node address or hostname in NDDS_DISCOVERY_PEERS.
[default] DDS_BOOLEAN_TRUE