RTI Connext Modern C++ API  Version 5.2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::core::policy::DiscoveryConfig Class Reference

<<extension>> Configures the discovery mechanism More...

#include <rti/core/policy/CorePolicy.hpp>

Public Member Functions

 DiscoveryConfig ()
 Creates the default policy.
 
DiscoveryConfigparticipant_liveliness_lease_duration (const dds::core::Duration &the_participant_liveliness_lease_duration)
 The liveliness lease duration for the participant.
 
dds::core::Duration participant_liveliness_lease_duration () const
 Getter (see setter with the same name)
 
DiscoveryConfigparticipant_liveliness_assert_period (const dds::core::Duration &the_participant_liveliness_assert_period)
 The period to assert liveliness for the participant.
 
dds::core::Duration participant_liveliness_assert_period () const
 Getter (see setter with the same name)
 
DiscoveryConfigremote_participant_purge_kind (RemoteParticipantPurgeKind the_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.
 
RemoteParticipantPurgeKind remote_participant_purge_kind () const
 Getter (see setter with the same name)
 
DiscoveryConfigmax_liveliness_loss_detection_period (const dds::core::Duration &the_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.
 
dds::core::Duration max_liveliness_loss_detection_period () const
 Getter (see setter with the same name)
 
DiscoveryConfiginitial_participant_announcements (int32_t the_initial_participant_announcements)
 The number of initial announcements sent when a participant is first enabled or when a remote participant is newly discovered.
 
int32_t initial_participant_announcements () const
 Getter (see setter with the same name)
 
DiscoveryConfigmin_initial_participant_announcement_period (const dds::core::Duration &the_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.
 
dds::core::Duration min_initial_participant_announcement_period () const
 Getter (see setter with the same name)
 
DiscoveryConfigmax_initial_participant_announcement_period (const dds::core::Duration &the_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.
 
dds::core::Duration max_initial_participant_announcement_period () const
 Getter (see setter with the same name)
 
DiscoveryConfigparticipant_reader_resource_limits (const BuiltinTopicReaderResourceLimits &the_participant_reader_resource_limits)
 Resource limits.
 
const
BuiltinTopicReaderResourceLimits
participant_reader_resource_limits () const
 Getter (see setter with the same name)
 
BuiltinTopicReaderResourceLimitsparticipant_reader_resource_limits ()
 Getter (see setter with the same name)
 
DiscoveryConfigpublication_reader (const RtpsReliableReaderProtocol &the_publication_reader)
 RTPS protocol-related configuration settings for the RTPS reliable reader associated to a built-in publication reader.
 
const RtpsReliableReaderProtocolpublication_reader () const
 Getter (see setter with the same name)
 
RtpsReliableReaderProtocolpublication_reader ()
 Getter (see setter with the same name)
 
DiscoveryConfigpublication_reader_resource_limits (const BuiltinTopicReaderResourceLimits &the_publication_reader_resource_limits)
 Resource limits.
 
const
BuiltinTopicReaderResourceLimits
publication_reader_resource_limits () const
 Getter (see setter with the same name)
 
BuiltinTopicReaderResourceLimitspublication_reader_resource_limits ()
 Getter (see setter with the same name)
 
DiscoveryConfigsubscription_reader (const RtpsReliableReaderProtocol &the_subscription_reader)
 RTPS protocol-related configuration settings for the RTPS reliable reader associated to a built-in subscription reader.
 
const RtpsReliableReaderProtocolsubscription_reader () const
 Getter (see setter with the same name)
 
RtpsReliableReaderProtocolsubscription_reader ()
 Getter (see setter with the same name)
 
DiscoveryConfigsubscription_reader_resource_limits (const BuiltinTopicReaderResourceLimits &the_subscription_reader_resource_limits)
 Resource limits.
 
const
BuiltinTopicReaderResourceLimits
subscription_reader_resource_limits () const
 Getter (see setter with the same name)
 
BuiltinTopicReaderResourceLimitssubscription_reader_resource_limits ()
 Getter (see setter with the same name)
 
DiscoveryConfigpublication_writer (const RtpsReliableWriterProtocol &the_publication_writer)
 RTPS protocol-related configuration settings for the RTPS reliable writer associated to a built-in publication writer.
 
const RtpsReliableWriterProtocolpublication_writer () const
 Getter (see setter with the same name)
 
RtpsReliableWriterProtocolpublication_writer ()
 Getter (see setter with the same name)
 
DiscoveryConfigpublication_writer_data_lifecycle (const dds::core::policy::WriterDataLifecycle &the_publication_writer_data_lifecycle)
 Writer data lifecycle settings for a built-in publication writer.
 
const
dds::core::policy::WriterDataLifecycle
publication_writer_data_lifecycle () const
 Getter (see setter with the same name)
 
dds::core::policy::WriterDataLifecyclepublication_writer_data_lifecycle ()
 Getter (see setter with the same name)
 
DiscoveryConfigsubscription_writer (const RtpsReliableWriterProtocol &the_subscription_writer)
 RTPS protocol-related configuration settings for the RTPS reliable writer associated to a built-in subscription writer.
 
const RtpsReliableWriterProtocolsubscription_writer () const
 Getter (see setter with the same name)
 
RtpsReliableWriterProtocolsubscription_writer ()
 Getter (see setter with the same name)
 
DiscoveryConfigsubscription_writer_data_lifecycle (const dds::core::policy::WriterDataLifecycle &the_subscription_writer_data_lifecycle)
 Writer data lifecycle settings for a built-in subscription writer.
 
const
dds::core::policy::WriterDataLifecycle
subscription_writer_data_lifecycle () const
 Getter (see setter with the same name)
 
dds::core::policy::WriterDataLifecyclesubscription_writer_data_lifecycle ()
 Getter (see setter with the same name)
 
DiscoveryConfigbuiltin_discovery_plugins (const DiscoveryConfigBuiltinPluginKindMask &the_builtin_discovery_plugins)
 The kind mask for built-in discovery plugins.
 
DiscoveryConfigBuiltinPluginKindMask builtin_discovery_plugins () const
 Getter (see setter with the same name)
 
DiscoveryConfigparticipant_message_reader_reliability_kind (dds::core::policy::ReliabilityKind the_participant_message_reader_reliability_kind)
 Reliability policy for a built-in participant message reader.
 
dds::core::policy::ReliabilityKind participant_message_reader_reliability_kind () const
 Getter (see setter with the same name)
 
DiscoveryConfigparticipant_message_reader (const RtpsReliableReaderProtocol &the_participant_message_reader)
 RTPS reliable reader protocol-related configuration settings for a built-in participant message reader. This parameter only has effect if rti::core::policy::DiscoveryConfig::participant_message_reader_reliability_kind is set to rti::core::policy::ReliabilityKind::RELIABLE.
 
const RtpsReliableReaderProtocolparticipant_message_reader () const
 Getter (see setter with the same name)
 
RtpsReliableReaderProtocolparticipant_message_reader ()
 Getter (see setter with the same name)
 
DiscoveryConfigparticipant_message_writer (const RtpsReliableWriterProtocol &the_participant_message_writer)
 RTPS protocol-related configuration settings for the RTPS reliable writer associated to the built-in participant message writer. This parameter only has effect if the matching participant message reader is configured with rti::core::policy::ReliabilityKind::RELIABLE rti::core::policy::ReliabilityKind.
 
const RtpsReliableWriterProtocolparticipant_message_writer () const
 Getter (see setter with the same name)
 
RtpsReliableWriterProtocolparticipant_message_writer ()
 Getter (see setter with the same name)
 
DiscoveryConfigpublication_writer_publish_mode (const PublishMode &the_publication_writer_publish_mode)
 Publish mode policy for the built-in publication writer.
 
const PublishModepublication_writer_publish_mode () const
 Getter (see setter with the same name)
 
PublishModepublication_writer_publish_mode ()
 Getter (see setter with the same name)
 
DiscoveryConfigsubscription_writer_publish_mode (const PublishMode &the_subscription_writer_publish_mode)
 Publish mode policy for the built-in subscription writer.
 
const PublishModesubscription_writer_publish_mode () const
 Getter (see setter with the same name)
 
PublishModesubscription_writer_publish_mode ()
 Getter (see setter with the same name)
 
DiscoveryConfigasynchronous_publisher (const AsynchronousPublisher &the_asynchronous_publisher)
 Asynchronous publishing settings for the discovery dds::pub::Publisher and all entities that are created by it.
 
const AsynchronousPublisherasynchronous_publisher () const
 Getter (see setter with the same name)
 
AsynchronousPublisherasynchronous_publisher ()
 Getter (see setter with the same name)
 
DiscoveryConfigdefault_domain_announcement_period (const dds::core::Duration &the_default_domain_announcement_period)
 The period to announce a participant to the default domain 0.
 
dds::core::Duration default_domain_announcement_period () const
 Getter (see setter with the same name)
 
DiscoveryConfigignore_default_domain_announcements (bool the_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.
 
bool ignore_default_domain_announcements () const
 Getter (see setter with the same name)
 

Detailed Description

<<extension>> Configures the discovery mechanism

<<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::domain::DomainParticipant
Properties:
RxO = N/A
Changeable = NO

Constructor & Destructor Documentation

rti::core::policy::DiscoveryConfig::DiscoveryConfig ( )
inline

Creates the default policy.

Member Function Documentation

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_liveliness_lease_duration ( const dds::core::Duration the_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 rti::core::policy::DiscoveryConfig::participant_liveliness_assert_period.

[default] 100 seconds

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

dds::core::Duration rti::core::policy::DiscoveryConfig::participant_liveliness_lease_duration ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_liveliness_assert_period ( const dds::core::Duration the_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 rti::core::policy::DiscoveryConfig::participant_liveliness_lease_duration.

[default] 30 seconds

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

dds::core::Duration rti::core::policy::DiscoveryConfig::participant_liveliness_assert_period ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::remote_participant_purge_kind ( RemoteParticipantPurgeKind  the_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, RemoteParticipantPurgeKind::LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE. However, RemoteParticipantPurgeKind::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::core::policy::LivelinessKind.

[default] RemoteParticipantPurgeKind::LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE

RemoteParticipantPurgeKind rti::core::policy::DiscoveryConfig::remote_participant_purge_kind ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::max_liveliness_loss_detection_period ( const dds::core::Duration the_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 that 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::sub::DataReader will learn of the loss of liveliness of a matched dds::pub::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] [0, 1 year]

dds::core::Duration rti::core::policy::DiscoveryConfig::max_liveliness_loss_detection_period ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::initial_participant_announcements ( int32_t  the_initial_participant_announcements)

The number of initial announcements sent when a participant is first enabled or when a remote participant is newly discovered.

Also, when a new remote participant appears, the local participant can announce itself to the peers multiple times controlled by this parameter.

[default] 5

[range] [0,1 million]

int32_t rti::core::policy::DiscoveryConfig::initial_participant_announcements ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::min_initial_participant_announcement_period ( const dds::core::Duration the_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 rti::core::policy::DiscoveryConfig::max_initial_participant_announcement_period is introduced in between initial announcements when a new remote participant is discovered.

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

rti::core::policy::DiscoveryConfig::min_initial_participant_announcement_period <= rti::core::policy::DiscoveryConfig::max_initial_participant_announcement_period.

[default] 1 second

[range] [1 nanosec,1 year]

dds::core::Duration rti::core::policy::DiscoveryConfig::min_initial_participant_announcement_period ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::max_initial_participant_announcement_period ( const dds::core::Duration the_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 rti::core::policy::DiscoveryConfig::min_initial_participant_announcement_period and this is introduced in between initial announcements when a new remote participant is discovered.

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

rti::core::policy::DiscoveryConfig::min_initial_participant_announcement_period <= rti::core::policy::DiscoveryConfig::max_initial_participant_announcement_period.

[default] 1 second

[range] [1 nanosec,1 year]

dds::core::Duration rti::core::policy::DiscoveryConfig::max_initial_participant_announcement_period ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_reader_resource_limits ( const BuiltinTopicReaderResourceLimits the_participant_reader_resource_limits)

Resource limits.

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

const BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::participant_reader_resource_limits ( ) const

Getter (see setter with the same name)

BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::participant_reader_resource_limits ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::publication_reader ( const RtpsReliableReaderProtocol the_publication_reader)

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

For details, refer to the rti::core::RtpsReliableReaderProtocol

[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;

const RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::publication_reader ( ) const

Getter (see setter with the same name)

RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::publication_reader ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::publication_reader_resource_limits ( const BuiltinTopicReaderResourceLimits the_publication_reader_resource_limits)

Resource limits.

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

const BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::publication_reader_resource_limits ( ) const

Getter (see setter with the same name)

BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::publication_reader_resource_limits ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::subscription_reader ( const RtpsReliableReaderProtocol the_subscription_reader)

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

For details, refer to the rti::core::RtpsReliableReaderProtocol

[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;

const RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::subscription_reader ( ) const

Getter (see setter with the same name)

RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::subscription_reader ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::subscription_reader_resource_limits ( const BuiltinTopicReaderResourceLimits the_subscription_reader_resource_limits)

Resource limits.

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

const BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::subscription_reader_resource_limits ( ) const

Getter (see setter with the same name)

BuiltinTopicReaderResourceLimits& rti::core::policy::DiscoveryConfig::subscription_reader_resource_limits ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::publication_writer ( const RtpsReliableWriterProtocol the_publication_writer)

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

For details, refer to the rti::core::RtpsReliableWriterProtocol

[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::core::Duration::infinite();
samples_per_virtual_heartbeat dds::core::LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers 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 true;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size dds::core::LENGTH_UNLIMITED;
max_send_window_size dds::core::LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat false;
multicast_resend_threshold 2 readers;

const RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::publication_writer ( ) const

Getter (see setter with the same name)

RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::publication_writer ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::publication_writer_data_lifecycle ( const dds::core::policy::WriterDataLifecycle the_publication_writer_data_lifecycle)

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

For details, refer to the dds::core::policy::WriterDataLifecycle. dds::core::policy::WriterDataLifecycle::autodispose_unregistered_instances will always be forced to true.

const dds::core::policy::WriterDataLifecycle& rti::core::policy::DiscoveryConfig::publication_writer_data_lifecycle ( ) const

Getter (see setter with the same name)

dds::core::policy::WriterDataLifecycle& rti::core::policy::DiscoveryConfig::publication_writer_data_lifecycle ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::subscription_writer ( const RtpsReliableWriterProtocol the_subscription_writer)

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

For details, refer to the rti::core::RtpsReliableWriterProtocol

[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::core::Duration::infinite();
samples_per_virtual_heartbeat dds::core::LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers 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 true;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size dds::core::LENGTH_UNLIMITED;
max_send_window_size dds::core::LENGTH_UNLIMITED;
send_window_update_period 3s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat false;
multicast_resend_threshold 2 readers;

const RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::subscription_writer ( ) const

Getter (see setter with the same name)

RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::subscription_writer ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::subscription_writer_data_lifecycle ( const dds::core::policy::WriterDataLifecycle the_subscription_writer_data_lifecycle)

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

For details, refer to the dds::core::policy::WriterDataLifecycle. dds::core::policy::WriterDataLifecycle::autodispose_unregistered_instances will always be forced to true.

const dds::core::policy::WriterDataLifecycle& rti::core::policy::DiscoveryConfig::subscription_writer_data_lifecycle ( ) const

Getter (see setter with the same name)

dds::core::policy::WriterDataLifecycle& rti::core::policy::DiscoveryConfig::subscription_writer_data_lifecycle ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::builtin_discovery_plugins ( const DiscoveryConfigBuiltinPluginKindMask the_builtin_discovery_plugins)

The kind mask for built-in discovery plugins.

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

[default] DiscoveryConfigBuiltinPluginKind::DISCOVERYCONFIG_BUILTIN_SDP

DiscoveryConfigBuiltinPluginKindMask rti::core::policy::DiscoveryConfig::builtin_discovery_plugins ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_message_reader_reliability_kind ( dds::core::policy::ReliabilityKind  the_participant_message_reader_reliability_kind)

Reliability policy for a built-in participant message reader.

For details, refer to the rti::core::policy::ReliabilityKind.

[default] rti::core::policy::ReliabilityKind::BEST_EFFORT

dds::core::policy::ReliabilityKind rti::core::policy::DiscoveryConfig::participant_message_reader_reliability_kind ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_message_reader ( const RtpsReliableReaderProtocol the_participant_message_reader)

RTPS reliable reader protocol-related configuration settings for a built-in participant message reader. This parameter only has effect if rti::core::policy::DiscoveryConfig::participant_message_reader_reliability_kind is set to rti::core::policy::ReliabilityKind::RELIABLE.

For details, refer to the rti::core::RtpsReliableReaderProtocol

[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;

const RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::participant_message_reader ( ) const

Getter (see setter with the same name)

RtpsReliableReaderProtocol& rti::core::policy::DiscoveryConfig::participant_message_reader ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::participant_message_writer ( const RtpsReliableWriterProtocol the_participant_message_writer)

RTPS protocol-related configuration settings for the RTPS reliable writer associated to the built-in participant message writer. This parameter only has effect if the matching participant message reader is configured with rti::core::policy::ReliabilityKind::RELIABLE rti::core::policy::ReliabilityKind.

For details, refer to the rti::core::RtpsReliableWriterProtocol

[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::core::Duration::infinite();
samples_per_virtual_heartbeat dds::core::LENGTH_UNLIMITED;
max_heartbeat_retries 10;
inactivate_nonprogressing_readers 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 true;
disable_positive_acks_decrease_sample_keep_duration_factor 95;
disable_positive_acks_increase_sample_keep_duration_factor 150;
min_send_window_size dds::core::LENGTH_UNLIMITED;
max_send_window_size dds::core::LENGTH_UNLIMITED;
send_window_update_period 1s;
send_window_increase_factor 105;
send_window_decrease_factor 50;
enable_multicast_periodic_heartbeat false;
multicast_resend_threshold 2 readers;

const RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::participant_message_writer ( ) const

Getter (see setter with the same name)

RtpsReliableWriterProtocol& rti::core::policy::DiscoveryConfig::participant_message_writer ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::publication_writer_publish_mode ( const PublishMode the_publication_writer_publish_mode)

Publish mode policy for the built-in publication writer.

Determines whether the Discovery built-in publication dds::pub::DataWriter publishes data synchronously or asynchronously and how.

const PublishMode& rti::core::policy::DiscoveryConfig::publication_writer_publish_mode ( ) const

Getter (see setter with the same name)

PublishMode& rti::core::policy::DiscoveryConfig::publication_writer_publish_mode ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::subscription_writer_publish_mode ( const PublishMode the_subscription_writer_publish_mode)

Publish mode policy for the built-in subscription writer.

Determines whether the Discovery built-in subscription dds::pub::DataWriter publishes data synchronously or asynchronously and how.

const PublishMode& rti::core::policy::DiscoveryConfig::subscription_writer_publish_mode ( ) const

Getter (see setter with the same name)

PublishMode& rti::core::policy::DiscoveryConfig::subscription_writer_publish_mode ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::asynchronous_publisher ( const AsynchronousPublisher the_asynchronous_publisher)

Asynchronous publishing settings for the discovery dds::pub::Publisher and all entities that are created by it.

const AsynchronousPublisher& rti::core::policy::DiscoveryConfig::asynchronous_publisher ( ) const

Getter (see setter with the same name)

AsynchronousPublisher& rti::core::policy::DiscoveryConfig::asynchronous_publisher ( )

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::default_domain_announcement_period ( const dds::core::Duration the_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::core::Duration::infinite().

When this period is set to a value other than dds::core::Duration::infinite() and rti::core::policy::DiscoveryConfig::ignore_default_domain_announcements is set to 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::topic::ParticipantBuiltinTopicData built-in DataReader's listener.

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

[default] 30 seconds

[range] [1 nanosec,1 year] or dds::core::Duration::infinite()

See Also
dds::topic::ParticipantBuiltinTopicData::domain_id
rti::core::policy::DiscoveryConfig::ignore_default_domain_announcements
dds::core::Duration rti::core::policy::DiscoveryConfig::default_domain_announcement_period ( ) const

Getter (see setter with the same name)

DiscoveryConfig& rti::core::policy::DiscoveryConfig::ignore_default_domain_announcements ( bool  the_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 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 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::topic::ParticipantBuiltinTopicData built-in DataReader.

[default] true

See Also
dds::topic::ParticipantBuiltinTopicData::domain_id
rti::core::policy::DiscoveryConfig::default_domain_announcement_period
bool rti::core::policy::DiscoveryConfig::ignore_default_domain_announcements ( ) const

Getter (see setter with the same name)


RTI Connext Modern C++ API Version 5.2.0 Copyright © Sun Jun 21 2015 Real-Time Innovations, Inc