RTI Connext C API  Version 6.1.2

<<extension>> Specifies the discovery configuration QoS. More...

Data Structures

struct  DDS_BuiltinTopicReaderResourceLimits_t
 Built-in topic reader's resource limits. More...
 
struct  DDS_DiscoveryConfigQosPolicy
 Settings for discovery configuration. More...
 

Macros

#define DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE
 No bits are set. More...
 
#define DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT
 The default value of DDS_DiscoveryConfigQosPolicy::builtin_discovery_plugins. More...
 

Typedefs

typedef DDS_Long DDS_DiscoveryConfigBuiltinPluginKindMask
 A bit-mask (list) of built-in discovery plugins. More...
 

Enumerations

enum  DDS_DiscoveryConfigBuiltinPluginKind {
  DDS_DISCOVERYCONFIG_BUILTIN_SPDP,
  DDS_DISCOVERYCONFIG_BUILTIN_SEDP,
  DDS_DISCOVERYCONFIG_BUILTIN_SDP
}
 Built-in discovery plugins that can be used. More...
 
enum  DDS_RemoteParticipantPurgeKind {
  DDS_LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE,
  DDS_NO_REMOTE_PARTICIPANT_PURGE
}
 Available behaviors for halting communication with remote participants (and their contained entities) with which discovery communication has been lost. More...
 

Variables

const char *const DDS_DISCOVERYCONFIG_QOS_POLICY_NAME
 Stringified human-readable name for DDS_DiscoveryConfigQosPolicy. More...
 

Detailed Description

<<extension>> Specifies the discovery configuration QoS.

Macro Definition Documentation

◆ DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE

#define DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE

◆ DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT

#define DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT

Typedef Documentation

◆ DDS_DiscoveryConfigBuiltinPluginKindMask

A bit-mask (list) of built-in discovery plugins.

The bit-mask is an efficient and compact representation of a fixed-length list of DDS_DiscoveryConfigBuiltinPluginKind values.

QoS:
DDS_DiscoveryConfigQosPolicy

Enumeration Type Documentation

◆ DDS_DiscoveryConfigBuiltinPluginKind

Built-in discovery plugins that can be used.

See also
DDS_DiscoveryConfigQosPolicy::builtin_discovery_plugins
Enumerator
DDS_DISCOVERYCONFIG_BUILTIN_SPDP 

Simple Participant Discovery Protocol.

Enables the first phase of the Simple Discovery Protocol (SDP), in which DomainParticipant's details are communicated to all other DomainParticipants in the same DDS domain by sending participant declaration messages, also known as participant DATA submessages or participant announcements.

DDS_DISCOVERYCONFIG_BUILTIN_SEDP 

Simple Endpoint Discovery Protocol.

Enables the second phase of the Simple Discovery Protocol (SDP), in which the information (GUID, QoS, etc.) about your application's DataReaders and DataWriters is exchanged by sending publication/subscription declarations in DATA messages, also known as publication DATAs and subscription DATAs.

DDS_DISCOVERYCONFIG_BUILTIN_SDP 

[default] Simple discovery plugin.

It is equivalent to SPDP + SEDP.

◆ DDS_RemoteParticipantPurgeKind

Available behaviors for halting communication with remote participants (and their contained entities) with which discovery communication has been lost.

When discovery communication with a remote participant has been lost, the local participant must make a decision about whether to continue attempting to communicate with that participant and its contained entities. This "kind" is used to select the desired behavior.

This "kind" does not pertain to the situation in which a remote participant has been gracefully deleted and notification of that deletion have been successfully received by its peers. In that case, the local participant will immediately stop attempting to communicate with those entities and will remove the associated remote entity records from its internal database.

See also
DDS_DiscoveryConfigQosPolicy::remote_participant_purge_kind
Enumerator
DDS_LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE 

[default] Maintain knowledge of the remote participant for as long as it maintains its liveliness contract.

A participant will continue attempting communication with its peers, even if discovery communication with them is lost, as long as the remote participants maintain their liveliness. If both discovery communication and participant liveliness are lost, however, the local participant will remove all records of the remote participant and its contained endpoints, and no further data communication with them will occur until and unless they are rediscovered.

The liveliness contract a participant promises to its peers – its "liveliness lease duration" – is specified in its DDS_DiscoveryConfigQosPolicy::participant_liveliness_lease_duration QoS field. It maintains that contract by writing data to those other participants with a writer that has a DDS_LivelinessQosPolicyKind of DDS_AUTOMATIC_LIVELINESS_QOS or DDS_MANUAL_BY_PARTICIPANT_LIVELINESS_QOS and by asserting itself (at the DDS_DiscoveryConfigQosPolicy::participant_liveliness_assert_period) over the Simple Discovery Protocol.

DDS_NO_REMOTE_PARTICIPANT_PURGE 

Never "forget" a remote participant with which discovery communication has been lost.

If a participant with this behavior loses discovery communication with a remote participant, it will nevertheless remember that remote participant and its endpoints and continue attempting to communicate with them indefinitely.

This value has consequences for a participant's resource usage. If discovery communication with a remote participant is lost, but the same participant is later rediscovered, any relevant records that remain in the database will be reused. However, if it is not rediscovered, the records will continue to take up space in the database for as long as the local participant remains in existence.

Variable Documentation

◆ DDS_DISCOVERYCONFIG_QOS_POLICY_NAME

const char* const DDS_DISCOVERYCONFIG_QOS_POLICY_NAME

Stringified human-readable name for DDS_DiscoveryConfigQosPolicy.