RTI Connext C API Version 7.3.0

<<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...
 
#define DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_NONE
 No bits are set, indicating that all channels that can be disabled, are disabled. Not all builtin channels can be disabled by the user. Only builtin channels represented by DDS_DiscoveryConfigBuiltinChannelKind are able to be enabled or disabled by the user. More...
 
#define DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_DEFAULT    ((DDS_DiscoveryConfigBuiltinChannelKindMask) DDS_DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL)
 The default value of DDS_DiscoveryConfigQosPolicy::enabled_builtin_channels. More...
 
#define DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_ALL
 All bits are set, indicating that all channels are enabled. More...
 

Typedefs

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

Enumerations

enum  DDS_DiscoveryConfigBuiltinPluginKind {
  DDS_DISCOVERYCONFIG_BUILTIN_SPDP ,
  DDS_DISCOVERYCONFIG_BUILTIN_SEDP ,
  DDS_DISCOVERYCONFIG_BUILTIN_SDP ,
  DDS_DISCOVERYCONFIG_BUILTIN_EDS = 0x0001 << 2 ,
  DDS_DISCOVERYCONFIG_BUILTIN_DPSE ,
  DDS_DISCOVERYCONFIG_BUILTIN_SPDP2 ,
  DDS_DISCOVERYCONFIG_BUILTIN_SDP2
}
 Built-in discovery plugins that can be used. More...
 
enum  DDS_DiscoveryConfigBuiltinChannelKind { DDS_DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL }
 Built-in channels that can be enabled. 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

No bits are set.

See also
DDS_DiscoveryConfigBuiltinPluginKindMask

◆ DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT

#define DDS_DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT

◆ DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_NONE

#define DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_NONE

No bits are set, indicating that all channels that can be disabled, are disabled. Not all builtin channels can be disabled by the user. Only builtin channels represented by DDS_DiscoveryConfigBuiltinChannelKind are able to be enabled or disabled by the user.

See also
DDS_DiscoveryConfigBuiltinChannelKindMask

◆ DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_DEFAULT

◆ DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_ALL

#define DDS_DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_ALL

All bits are set, indicating that all channels are enabled.

See also
DDS_DiscoveryConfigBuiltinChannelKindMask

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

◆ DDS_DiscoveryConfigBuiltinChannelKindMask

A bit-mask (list) of built-in channels.

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

QoS:
DDS_DiscoveryConfigQosPolicy

Enumeration Type Documentation

◆ DDS_DiscoveryConfigBuiltinPluginKind

Built-in discovery plugins that can be used.

See also
DDS_DiscoveryConfigBuiltinPluginKindMask
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_DISCOVERYCONFIG_BUILTIN_DPSE 

Dynamic Participant discovery, Static Endpoint discovery.

Enables static endpoint discovery for a DomainParticipant. In this type of discovery, information from remote endpoints is extracted from a local DDS-XML file instead of being received over the network, reducing the number of exchanged packets and consequently reducing bandwidth consumption used for discovery. Using this value in DDS_DiscoveryConfigBuiltinPluginKindMask requires the 'librtilbedisc' library (included in the RTI Connext Professional bundles) to be reachable (PATH, LD_LIBRARY_PATH or DYLD_LIBRARY_PATH).

DDS_DISCOVERYCONFIG_BUILTIN_SPDP2 

Simple Participant Discovery Protocol 2.0 (SPDP2)

Enables the Simple Participant Discovery Protocol 2.0, in which a DomainParticipant's details are communicated to all other DomainParticipants in the same DDS domain by sending participant bootstrap messages. These bootstrap messages contain only a subset of the information in the Simple Participant Discovery Protocol (SPDP) participant announcements that is required to match two participants and bootstrap the system. The DomainParticpant's full configuration is then sent reliably with participant configuration announcements. Two DomainParticipants that use SPDP2 will maintain liveliness using liveliness participant messages.

DDS_DISCOVERYCONFIG_BUILTIN_SDP2 

Simple discovery plugin 2.0.

It is equivalent to SPDP2 + SEDP.

◆ DDS_DiscoveryConfigBuiltinChannelKind

Built-in channels that can be enabled.

See also
DDS_DiscoveryConfigBuiltinChannelKindMask
Enumerator
DDS_DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL 

[default] Built-in ServiceRequest channel.

Enables the ServiceRequest channel, which is required by the TopicQuery and locator reachability features. Disabling the ServiceRequest channel reduces resource consumption including network bandwidth, CPU utilization, and memory.

◆ 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
extern

Stringified human-readable name for DDS_DiscoveryConfigQosPolicy.