RTI Connext C API Version 7.3.0
DDS_DiscoveryConfigQosPolicy Struct Reference

Settings for discovery configuration. More...

Data Fields

struct DDS_Duration_t participant_liveliness_lease_duration
 The liveliness lease duration for the participant. More...
 
struct DDS_Duration_t participant_liveliness_assert_period
 The period to assert liveliness for the participant. More...
 
struct DDS_Duration_t participant_announcement_period
 The period at which a participant announces itself to potential peers when using the Simple Participant Discovery Protocol 2.0 (SPDP2). More...
 
DDS_RemoteParticipantPurgeKind remote_participant_purge_kind
 The participant's behavior for maintaining knowledge of remote participants (and their contained entities) with which discovery communication has been lost. More...
 
struct DDS_Duration_t max_liveliness_loss_detection_period
 The maximum amount of time between when a remote entity stops maintaining its liveliness and when the matched local entity realizes that fact. More...
 
DDS_Long initial_participant_announcements
 The number of initial announcements sent when a participant is first enabled. More...
 
DDS_Long new_remote_participant_announcements
 The number of participant announcements sent when a remote participant is newly discovered. More...
 
struct DDS_Duration_t min_initial_participant_announcement_period
 The minimum period between initial announcements when a participant is first enabled or when a remote participant is newly discovered. More...
 
struct DDS_Duration_t max_initial_participant_announcement_period
 The maximum period between initial announcements when a participant is first enabled or when a remote participant is newly discovered. More...
 
struct DDS_BuiltinTopicReaderResourceLimits_t participant_reader_resource_limits
 Resource limits. More...
 
struct DDS_RtpsReliableReaderProtocol_t publication_reader
 RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in publication reader. More...
 
struct DDS_BuiltinTopicReaderResourceLimits_t publication_reader_resource_limits
 Resource limits. More...
 
struct DDS_RtpsReliableReaderProtocol_t subscription_reader
 RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in subscription reader. More...
 
struct DDS_BuiltinTopicReaderResourceLimits_t subscription_reader_resource_limits
 Resource limits. More...
 
struct DDS_RtpsReliableWriterProtocol_t publication_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in publication writer. More...
 
struct DDS_WriterDataLifecycleQosPolicy publication_writer_data_lifecycle
 Writer data lifecycle settings for a built-in publication writer. More...
 
struct DDS_RtpsReliableWriterProtocol_t subscription_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in subscription writer. More...
 
struct DDS_WriterDataLifecycleQosPolicy subscription_writer_data_lifecycle
 Writer data lifecycle settings for a built-in subscription writer. More...
 
DDS_DiscoveryConfigBuiltinPluginKindMask builtin_discovery_plugins
 Mask of built-in discovery plugin kinds. More...
 
DDS_DiscoveryConfigBuiltinChannelKindMask enabled_builtin_channels
 The mask specifying which built-in channels should be enabled. More...
 
DDS_ReliabilityQosPolicyKind participant_message_reader_reliability_kind
 Reliability policy for a built-in participant message reader. More...
 
struct DDS_RtpsReliableReaderProtocol_t participant_message_reader
 RTPS reliable reader protocol-related configuration settings for a built-in participant message reader. This parameter only has effect if DDS_DiscoveryConfigQosPolicy::participant_message_reader_reliability_kind is set to DDS_RELIABLE_RELIABILITY_QOS. More...
 
struct DDS_RtpsReliableWriterProtocol_t participant_message_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in participant message writer. This parameter only has effect if the matching participant message reader is configured with DDS_RELIABLE_RELIABILITY_QOS DDS_ReliabilityQosPolicyKind. More...
 
struct DDS_PublishModeQosPolicy publication_writer_publish_mode
 Publish mode policy for the built-in publication writer. More...
 
struct DDS_PublishModeQosPolicy subscription_writer_publish_mode
 Publish mode policy for the built-in subscription writer. More...
 
struct DDS_AsynchronousPublisherQosPolicy asynchronous_publisher
 Asynchronous publishing settings for the discovery DDS_Publisher and all entities that are created by it. More...
 
struct DDS_Duration_t default_domain_announcement_period
 The period to announce a participant to the default domain 0. More...
 
DDS_Boolean ignore_default_domain_announcements
 Used to ignore the announcements received by a participant on the default domain 0 corresponding to participants running on domains IDs other than 0. More...
 
struct DDS_RtpsReliableWriterProtocol_t service_request_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in DDS_ServiceRequest writer. More...
 
struct DDS_WriterDataLifecycleQosPolicy service_request_writer_data_lifecycle
 Writer data lifecycle settings for a built-in DDS_ServiceRequest writer. More...
 
struct DDS_PublishModeQosPolicy service_request_writer_publish_mode
 Publish mode policy for the built-in service request writer. More...
 
struct DDS_RtpsReliableReaderProtocol_t service_request_reader
 RTPS reliable reader protocol-related configuration settings for a built-in DDS_ServiceRequest reader. More...
 
struct DDS_Duration_t locator_reachability_assert_period
 Period at which this DomainParticipant will assert the locators discovered from other DomainParticipants. More...
 
struct DDS_Duration_t locator_reachability_lease_duration
 The time period after which other DomainParticipants can consider one of their locators as "unreachable" if they do not receive a REACHABILITY PING from this DomainParticipant. More...
 
struct DDS_Duration_t locator_reachability_change_detection_period
 Period at which this DomainParticipant will check if its locators are reachable from other DomainParticipants. More...
 
struct DDS_RtpsReliableWriterProtocol_t secure_volatile_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in secure volatile writer. More...
 
struct DDS_PublishModeQosPolicy secure_volatile_writer_publish_mode
 Publish mode policy for the built-in secure volatile writer. More...
 
struct DDS_RtpsReliableReaderProtocol_t secure_volatile_reader
 RTPS reliable reader protocol-related configuration settings for the built-in secure volatile reader. More...
 
DDS_Long endpoint_type_object_lb_serialization_threshold
 Option to reduce the size required to propagate a TypeObject in Simple Endpoint Discovery. More...
 
struct DDS_Duration_t dns_tracker_polling_period
 Duration that specifies the period used by the DNS tracker to poll the DNS service and check for changes in the hostnames. More...
 
struct DDS_PublishModeQosPolicy participant_configuration_writer_publish_mode
 Publish mode policy for the built-in participant configuration writer. More...
 
struct DDS_RtpsReliableWriterProtocol_t participant_configuration_writer
 RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in participant configuration writer. More...
 
struct DDS_WriterDataLifecycleQosPolicy participant_configuration_writer_data_lifecycle
 Writer data lifecycle settings for a built-in participant configuration writer. More...
 
struct DDS_RtpsReliableReaderProtocol_t participant_configuration_reader
 RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in participant configuration reader. More...
 
struct DDS_BuiltinTopicReaderResourceLimits_t participant_configuration_reader_resource_limits
 Resource limits for the built-in topic participant configuration reader. More...
 

Detailed Description

Settings for discovery configuration.

<<extension>> This QoS policy controls the amount of delay in discovering entities in the system and the amount of discovery traffic in the network.

The amount of network traffic required by the discovery process can vary widely, based on how your application has chosen to configure the middleware's network addressing (e.g., unicast vs. multicast, multicast TTL, etc.), the size of the system, whether all applications are started at the same time or whether start times are staggered, and other factors. Your application can use this policy to make tradeoffs between discovery completion time and network bandwidth utilization. In addition, you can introduce random back-off periods into the discovery process to decrease the probability of network contention when many applications start simultaneously.

Entity:
DDS_DomainParticipant
Properties:
RxO = N/A
Changeable = NO

Field Documentation

◆ participant_liveliness_lease_duration

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::participant_liveliness_lease_duration

The liveliness lease duration for the participant.

This is the same as the expiration time of the DomainParticipant as defined in the RTPS protocol.

If the participant has not refreshed its own liveliness to other participants at least once within this period, it may be considered as stale by other participants in the network.

Should be strictly greater than DDS_DiscoveryConfigQosPolicy::participant_liveliness_assert_period.

[default] 100 seconds

[range] [1 nanosec,1 year], > participant_liveliness_assert_period

◆ participant_liveliness_assert_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::participant_liveliness_assert_period

The period to assert liveliness for the participant.

The period at which the participant will refresh its liveliness to all the peers.

Should be strictly less than DDS_DiscoveryConfigQosPolicy::participant_liveliness_lease_duration.

[default] 30 seconds

[range] [1 nanosec,1 year], < participant_liveliness_lease_duration

◆ participant_announcement_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::participant_announcement_period

The period at which a participant announces itself to potential peers when using the Simple Participant Discovery Protocol 2.0 (SPDP2).

The DDS_DiscoveryQosPolicy::initial_peers list DDS_DomainParticipant_add_peer API are used to configure a set of potential peers that a DomainParticipant may discover. The DDS_DiscoveryConfigQosPolicy::participant_announcement_period configures how frequently a DomainParticipant will announce itself to the subset of the configured potential peers that it has not matched with yet. Once a DomainParticipant matches with a DomainParticipant at one of configured potential peer locators, it will no longer announce itself to that locator at this period unless liveliness is lost.

This QoS policy is only supported when using the Simple Participant Discovery Protocol 2.0 (SPDP2). Setting this value when using the Simple Participant Discovery Protocol (SPDP) or other participant discovery protocols is not supported and will result in an error.

[default] DDS_DURATION_AUTO (Takes the value of DDS_DiscoveryConfigQosPolicy::participant_liveliness_assert_period)

[range] [1 nanosec,1 year]

◆ remote_participant_purge_kind

DDS_RemoteParticipantPurgeKind DDS_DiscoveryConfigQosPolicy::remote_participant_purge_kind

The participant's behavior for maintaining knowledge of remote participants (and their contained entities) with which discovery communication has been lost.

Most users will not need to change this value from its default, DDS_LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE. However, DDS_NO_REMOTE_PARTICIPANT_PURGE may be a good choice if the following conditions apply:

  1. Discovery communication with a remote participant may be lost while data communication remains intact. Such will not typically be the case if discovery takes place over the Simple Discovery Protocol, but may be the case if the RTI Enterprise Discovery Service is used.
  2. Extensive and prolonged lack of discovery communication between participants is not expected to be common, either because participant loss itself is expected to be rare, or because participants may be lost sporadically but will typically return again.
  3. Maintaining inter-participant liveliness is problematic, perhaps because a participant has no writers with the appropriate DDS_LivelinessQosPolicyKind.

[default] DDS_LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE

◆ max_liveliness_loss_detection_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::max_liveliness_loss_detection_period

The maximum amount of time between when a remote entity stops maintaining its liveliness and when the matched local entity realizes that fact.

Notification of the loss of liveliness of a remote entity may come more quickly than this duration, depending on the liveliness contract between the local and remote entities and the capabilities of the discovery mechanism in use. For example, a DDS_DataReader will learn of the loss of liveliness of a matched DDS_DataWriter within the reader's offered liveliness lease duration.

Shortening this duration will increase the responsiveness of entities to communication failures. However, it will also increase the CPU usage of the application, as the liveliness of remote entities will be examined more frequently.

[default] 60 seconds

[range] [1 nanosec, 1 year]

◆ initial_participant_announcements

DDS_Long DDS_DiscoveryConfigQosPolicy::initial_participant_announcements

The number of initial announcements sent when a participant is first enabled.

[default] 5

[range] [1,1 million]

◆ new_remote_participant_announcements

DDS_Long DDS_DiscoveryConfigQosPolicy::new_remote_participant_announcements

The number of participant announcements sent when a remote participant is newly discovered.

These announcements are only sent to the newly discovered remote participant, they are not also broadcast to the initial_peers list.

[default] 2

[range] [0,1 million]

◆ min_initial_participant_announcement_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period

The minimum period between initial announcements when a participant is first enabled or when a remote participant is newly discovered.

A random delay between this and DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period is introduced in between initial announcements when a new remote participant is discovered.

The setting of DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period must be consistent with DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period. For these two values to be consistent, they must verify that:

DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period <= DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period.

[default] 10 milliseconds

[range] [1 nanosec,1 year]

◆ max_initial_participant_announcement_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period

The maximum period between initial announcements when a participant is first enabled or when a remote participant is newly discovered.

A random delay between DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period and this is introduced in between initial announcements when a new remote participant is discovered.

The setting of DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period must be consistent with DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period. For these two values to be consistent, they must verify that:

DDS_DiscoveryConfigQosPolicy::min_initial_participant_announcement_period <= DDS_DiscoveryConfigQosPolicy::max_initial_participant_announcement_period.

[default] 1 second

[range] [1 nanosec,1 year]

◆ participant_reader_resource_limits

struct DDS_BuiltinTopicReaderResourceLimits_t DDS_DiscoveryConfigQosPolicy::participant_reader_resource_limits

Resource limits.

Resource limit of the built-in topic participant reader. For details, see DDS_BuiltinTopicReaderResourceLimits_t.

◆ publication_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::publication_reader

RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in publication reader.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ publication_reader_resource_limits

struct DDS_BuiltinTopicReaderResourceLimits_t DDS_DiscoveryConfigQosPolicy::publication_reader_resource_limits

Resource limits.

Resource limit of the built-in topic publication reader. For details, see DDS_BuiltinTopicReaderResourceLimits_t.

◆ subscription_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::subscription_reader

RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in subscription reader.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ subscription_reader_resource_limits

struct DDS_BuiltinTopicReaderResourceLimits_t DDS_DiscoveryConfigQosPolicy::subscription_reader_resource_limits

Resource limits.

Resource limit of the built-in topic subscription reader. For details, see DDS_BuiltinTopicReaderResourceLimits_t.

◆ publication_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::publication_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in publication writer.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 3.0 seconds;
fast_heartbeat_period 3.0 seconds;
late_joiner_heartbeat_period 3.0 seconds;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 8;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 131072 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 milliseconds;
disable_positive_acks_max_sample_keep_duration 1.0 seconds;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ publication_writer_data_lifecycle

struct DDS_WriterDataLifecycleQosPolicy DDS_DiscoveryConfigQosPolicy::publication_writer_data_lifecycle

Writer data lifecycle settings for a built-in publication writer.

For details, refer to the DDS_WriterDataLifecycleQosPolicy. DDS_WriterDataLifecycleQosPolicy::autodispose_unregistered_instances will always be forced to DDS_BOOLEAN_TRUE.

◆ subscription_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::subscription_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in subscription writer.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 3.0 seconds;
fast_heartbeat_period 3.0 seconds;
late_joiner_heartbeat_period 3.0 seconds;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 8;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 131072 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 milliseconds;
disable_positive_acks_max_sample_keep_duration 1.0 seconds;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ subscription_writer_data_lifecycle

struct DDS_WriterDataLifecycleQosPolicy DDS_DiscoveryConfigQosPolicy::subscription_writer_data_lifecycle

Writer data lifecycle settings for a built-in subscription writer.

For details, refer to the DDS_WriterDataLifecycleQosPolicy. DDS_WriterDataLifecycleQosPolicy::autodispose_unregistered_instances will always be forced to DDS_BOOLEAN_TRUE.

◆ builtin_discovery_plugins

DDS_DiscoveryConfigBuiltinPluginKindMask DDS_DiscoveryConfigQosPolicy::builtin_discovery_plugins

Mask of built-in discovery plugin kinds.

There are several built-in discovery plugins. This mask enables the different plugins. Any plugin not enabled will not be created.

[default] DDS_DISCOVERYCONFIG_BUILTIN_SDP

See also
DDS_DiscoveryConfigBuiltinPluginKind

◆ enabled_builtin_channels

DDS_DiscoveryConfigBuiltinChannelKindMask DDS_DiscoveryConfigQosPolicy::enabled_builtin_channels

The mask specifying which built-in channels should be enabled.

While there are a number of built-in channels that are used by Connext DDS, the only built-in channel which can currently be enabled or disabled is the Service Request Channel. This channel is used by the Locator Reachability and Topic Query features. If you are not using these features and wish to reduce network traffic and endpoint resource usage, you may disable the service request channel with this QoS.

[default] DDS_DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL

◆ participant_message_reader_reliability_kind

DDS_ReliabilityQosPolicyKind DDS_DiscoveryConfigQosPolicy::participant_message_reader_reliability_kind

Reliability policy for a built-in participant message reader.

For details, refer to the DDS_ReliabilityQosPolicyKind.

[default] DDS_BEST_EFFORT_RELIABILITY_QOS

◆ participant_message_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::participant_message_reader

RTPS reliable reader protocol-related configuration settings for a built-in participant message reader. This parameter only has effect if DDS_DiscoveryConfigQosPolicy::participant_message_reader_reliability_kind is set to DDS_RELIABLE_RELIABILITY_QOS.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ participant_message_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::participant_message_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in participant message writer. This parameter only has effect if the matching participant message reader is configured with DDS_RELIABLE_RELIABILITY_QOS DDS_ReliabilityQosPolicyKind.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 1.0 seconds;
fast_heartbeat_period 1.0 seconds;
late_joiner_heartbeat_period 1.0 seconds;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 1;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 9216 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 milliseconds;
disable_positive_acks_max_sample_keep_duration 1.0 seconds;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 1s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ publication_writer_publish_mode

struct DDS_PublishModeQosPolicy DDS_DiscoveryConfigQosPolicy::publication_writer_publish_mode

Publish mode policy for the built-in publication writer.

Determines whether the Discovery built-in publication DDS_DataWriter publishes data synchronously or asynchronously and how.

◆ subscription_writer_publish_mode

struct DDS_PublishModeQosPolicy DDS_DiscoveryConfigQosPolicy::subscription_writer_publish_mode

Publish mode policy for the built-in subscription writer.

Determines whether the Discovery built-in subscription DDS_DataWriter publishes data synchronously or asynchronously and how.

◆ asynchronous_publisher

struct DDS_AsynchronousPublisherQosPolicy DDS_DiscoveryConfigQosPolicy::asynchronous_publisher

Asynchronous publishing settings for the discovery DDS_Publisher and all entities that are created by it.

◆ default_domain_announcement_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::default_domain_announcement_period

The period to announce a participant to the default domain 0.

The period at which a participant will announce itself to the default domain 0 using the default UDPv4 multicast group address for discovery traffic on that domain.

For domain 0, the default discovery multicast address is 239.255.0.1:7400.

To disable announcement to the default domain, set this period to DDS_DURATION_INFINITE.

When this period is set to a value other than DDS_DURATION_INFINITE and DDS_DiscoveryConfigQosPolicy::ignore_default_domain_announcements is set to DDS_BOOLEAN_FALSE, you can get information about participants running in different domains by creating a participant in domain 0 and implementing the on_data_available callback in the DDS_ParticipantBuiltinTopicData built-in DataReader's listener.

You can learn the domain ID associated with a participant by looking at the field DDS_ParticipantBuiltinTopicData::domain_id.

[default] 30 seconds

[range] [1 nanosec,1 year] or DDS_DURATION_INFINITE

See also
DDS_ParticipantBuiltinTopicData::domain_id
DDS_DiscoveryConfigQosPolicy::ignore_default_domain_announcements

◆ ignore_default_domain_announcements

DDS_Boolean DDS_DiscoveryConfigQosPolicy::ignore_default_domain_announcements

Used to ignore the announcements received by a participant on the default domain 0 corresponding to participants running on domains IDs other than 0.

This setting only applies to participants running on the default domain 0 and using the default port mapping.

When this setting is set to DDS_BOOLEAN_TRUE, a participant running on the default domain 0 will ignore announcements from participants running on different domain IDs.

When this setting is set to DDS_BOOLEAN_FALSE, a participant running on the default domain 0 will provide announcements from participants running on different domain IDs to the application via the DDS_ParticipantBuiltinTopicData built-in DataReader.

[default] DDS_BOOLEAN_TRUE

See also
DDS_ParticipantBuiltinTopicData::domain_id
DDS_DiscoveryConfigQosPolicy::default_domain_announcement_period

◆ service_request_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::service_request_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in DDS_ServiceRequest writer.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 3.0 seconds;
fast_heartbeat_period 3.0 seconds;
late_joiner_heartbeat_period 3.0 seconds;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 8;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 131072 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 milliseconds;
disable_positive_acks_max_sample_keep_duration 1.0 seconds;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ service_request_writer_data_lifecycle

struct DDS_WriterDataLifecycleQosPolicy DDS_DiscoveryConfigQosPolicy::service_request_writer_data_lifecycle

Writer data lifecycle settings for a built-in DDS_ServiceRequest writer.

For details, refer to the DDS_WriterDataLifecycleQosPolicy.

◆ service_request_writer_publish_mode

struct DDS_PublishModeQosPolicy DDS_DiscoveryConfigQosPolicy::service_request_writer_publish_mode

Publish mode policy for the built-in service request writer.

Determines whether the Discovery built-in service request DDS_DataWriter publishes data synchronously or asynchronously and how.

◆ service_request_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::service_request_reader

RTPS reliable reader protocol-related configuration settings for a built-in DDS_ServiceRequest reader.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ locator_reachability_assert_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::locator_reachability_assert_period

Period at which this DomainParticipant will assert the locators discovered from other DomainParticipants.

This setting configures the period at which this DDS_DomainParticipant will ping all the locators that it has discovered from other DomainParticipants. This period should be strictly less than DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration.

If DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration is DDS_DURATION_INFINITE this parameter is ignored. The DomainParticipant will not assert remote locators.

[default] 20 seconds

[range] [1 nanosec,1 year]

See also
DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration

◆ locator_reachability_lease_duration

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration

The time period after which other DomainParticipants can consider one of their locators as "unreachable" if they do not receive a REACHABILITY PING from this DomainParticipant.

For the purpose of this explanation, we will use 'local' to refer to the DomainParticipant in which we configure locator_reachability_lease_duration and 'remote' to refer to the other DomainParticipants communicating with the local DomainParticipant.

This setting configures a timeout announced to the remote DomainParticipants. This timeout is used by the remote DomainParticipants as the maximum period by which a remote locator must be asserted by the local DomainParticipant (through a REACHABILITY PING message) before considering this locator as "unreachable" from the local DomainParticipant.

When a remote DomainParticipant detects that one of its locators is not reachable from the local DomainParticipant, it will notify the local DomainParticipant of this event. From that moment on, and until notified otherwise, the local DomainParticipant will not send RTPS messages to remote DomainParticipants using this locator.

If this value is set to DDS_DURATION_INFINITE, the local DomainParticipant will send RTPS messages to a remote DomainParticipant on the locators announced by the remote DomainParticipant, regardless of whether or not the remote DomainParticipant can be reached using these locators.

[default] DDS_DURATION_INFINITE

[range] [1 nanosec,1 year] or DDS_DURATION_INFINITE

◆ locator_reachability_change_detection_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::locator_reachability_change_detection_period

Period at which this DomainParticipant will check if its locators are reachable from other DomainParticipants.

This setting determines the maximum period at which this DomainParticipant will check to see if its locators are reachable from other DomainParticipants according to the other DomainParticipants' DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration value.

If DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration is DDS_DURATION_INFINITE this parameter is ignored. The DomainParticipant will not schedule an event to see if its locators are reachable from other DomainParticipants.

[default] 60 seconds

[range] [1 nanosec,1 year]

See also
DDS_DiscoveryConfigQosPolicy::locator_reachability_lease_duration

◆ secure_volatile_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::secure_volatile_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with the built-in secure volatile writer.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 1.0 second;
fast_heartbeat_period 250.0 milliseconds;
late_joiner_heartbeat_period 1.0 second;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries DDS_LENGTH_UNLIMITED;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 1;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 9216 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 millisecond;
disable_positive_acks_max_sample_keep_duration 1.0 second;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 1.0 second;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ secure_volatile_writer_publish_mode

struct DDS_PublishModeQosPolicy DDS_DiscoveryConfigQosPolicy::secure_volatile_writer_publish_mode

Publish mode policy for the built-in secure volatile writer.

Determines whether the built-in secure volatile DDS_DataWriter publishes data synchronously or asynchronously and how.

◆ secure_volatile_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::secure_volatile_reader

RTPS reliable reader protocol-related configuration settings for the built-in secure volatile reader.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ endpoint_type_object_lb_serialization_threshold

DDS_Long DDS_DiscoveryConfigQosPolicy::endpoint_type_object_lb_serialization_threshold

Option to reduce the size required to propagate a TypeObject in Simple Endpoint Discovery.

Minimum size (in bytes) of the serialized TypeObject that will trigger the serialization of a TypeObjectLb instead of the regular TypeObject.

For example, setting this property to 1000 will trigger the serialization of the TypeObjectLb for TypeObjects whose serialized size is greater than 1000 Bytes.

The sentinel value -1 disables TypeObject compression.

[default] 0. The default value 0 enables TypeObject compression by always sending TypeObjectLb.

[range] [-1, 2147483647]

◆ dns_tracker_polling_period

struct DDS_Duration_t DDS_DiscoveryConfigQosPolicy::dns_tracker_polling_period

Duration that specifies the period used by the DNS tracker to poll the DNS service and check for changes in the hostnames.

RTI Connext allows the use of hostnames instead of IP addresses when configuring initial peers for specific transports (e.g.: UDPv4 and UDPv6). The DNS tracker keeps the IP addresses of these hostnames updated. The DNS tracker builds a list of hostnames from the initial peers of a DomainParticipant, queries the DNS for those hostnames, and updates the resolved IP addresses when the IP addresses change. The frequency of these queries is defined by the DNS tracker polling period. When the period is set to DDS_DURATION_INFINITE, the tracker is disabled.

RTI Connext keeps information regarding the hostnames of peers if they are part of the DDS_DiscoveryQosPolicy::initial_peers. The information regarding peers added through the DDS_DomainParticipant_add_peer operation is kept only if the DNS tracker has been enabled before adding a peer.

[default] DDS_DURATION_INFINITE

[range] [1 second,1 year], DDS_DURATION_INFINITE

◆ participant_configuration_writer_publish_mode

struct DDS_PublishModeQosPolicy DDS_DiscoveryConfigQosPolicy::participant_configuration_writer_publish_mode

Publish mode policy for the built-in participant configuration writer.

Determines whether the Discovery built-in participant configuration DDS_DataWriter publishes data synchronously or asynchronously and how.

◆ participant_configuration_writer

struct DDS_RtpsReliableWriterProtocol_t DDS_DiscoveryConfigQosPolicy::participant_configuration_writer

RTPS protocol-related configuration settings for the RTPS reliable writer associated with a built-in participant configuration writer.

For details, refer to the DDS_RtpsReliableWriterProtocol_t

[default]
low_watermark 0;
high_watermark 1;
heartbeat_period 3.0 seconds;
fast_heartbeat_period 3.0 seconds;
late_joiner_heartbeat_period 3.0 seconds;
virtual_heartbeat_period DDS_DURATION_INFINITE;
samples_per_virtual_heartbeat DDS_LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers DDS_BOOLEAN_FALSE;
heartbeats_per_max_samples 8;
min_nack_response_delay 0.0 seconds;
max_nack_response_delay 0.0 seconds;
nack_suppression_duration 0.0 seconds;
max_bytes_per_nack_response 131072 bytes;
disable_positive_acks_min_sample_keep_duration 1.0 milliseconds;
disable_positive_acks_max_sample_keep_duration 1.0 seconds;
disable_positive_acks_enable_adaptive_sample_keep_duration DDS_BOOLEAN_TRUE;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size DDS_LENGTH_UNLIMITED;
max_send_window_size DDS_LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat DDS_BOOLEAN_FALSE;
multicast_resend_threshold 2 readers;
disable_repair_piggyback_heartbeat DDS_BOOLEAN_FALSE;

◆ participant_configuration_writer_data_lifecycle

struct DDS_WriterDataLifecycleQosPolicy DDS_DiscoveryConfigQosPolicy::participant_configuration_writer_data_lifecycle

Writer data lifecycle settings for a built-in participant configuration writer.

For details, refer to the DDS_WriterDataLifecycleQosPolicy. DDS_WriterDataLifecycleQosPolicy::autodispose_unregistered_instances will always be forced to DDS_BOOLEAN_TRUE.

◆ participant_configuration_reader

struct DDS_RtpsReliableReaderProtocol_t DDS_DiscoveryConfigQosPolicy::participant_configuration_reader

RTPS protocol-related configuration settings for the RTPS reliable reader associated with a built-in participant configuration reader.

For details, refer to the DDS_RtpsReliableReaderProtocol_t

[default]
min_heartbeat_response_delay 0.0 seconds;
max_heartbeat_response_delay 0.0 seconds;
heartbeat_suppression_duration 0.0625 seconds;
nack_period 5.0 seconds;
receive_window_size 256;
round_trip_time 0.0 seconds;
app_ack_period 5.0 seconds;
samples_per_app_ack 1;

◆ participant_configuration_reader_resource_limits

struct DDS_BuiltinTopicReaderResourceLimits_t DDS_DiscoveryConfigQosPolicy::participant_configuration_reader_resource_limits

Resource limits for the built-in topic participant configuration reader.

For details, see DDS_BuiltinTopicReaderResourceLimits_t.