RTI Connext Java API  Version 5.1.0
DiscoveryConfigQosPolicy Class Reference

Settings for discovery configuration. More...

Inheritance diagram for DiscoveryConfigQosPolicy:
QosPolicy

Public Attributes

final Duration_t participant_liveliness_lease_duration
 The liveliness lease duration for the participant.
 
final Duration_t participant_liveliness_assert_period
 The period to assert liveliness for the participant.
 
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.
 
final 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.
 
int initial_participant_announcements
 The number of initial announcements sent when a participant is first enabled or when a remote participant is newly discovered.
 
final 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.
 
final 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.
 
final
BuiltinTopicReaderResourceLimits_t 
participant_reader_resource_limits
 Resource limits.
 
final
BuiltinTopicReaderResourceLimits_t 
publication_reader_resource_limits
 Resource limits.
 
final
BuiltinTopicReaderResourceLimits_t 
subscription_reader_resource_limits
 Resource limits.
 
final RtpsReliableWriterProtocol_t publication_writer
 RTPS protocol-related configuration settings for a built-in publication writer.
 
final WriterDataLifecycleQosPolicy publication_writer_data_lifecycle
 Writer data lifecycle settings for a built-in publication writer.
 
final RtpsReliableWriterProtocol_t subscription_writer
 RTPS protocol-related configuration settings for a built-in subscription writer.
 
final WriterDataLifecycleQosPolicy subscription_writer_data_lifecycle
 Writer data lifecycle settings for a built-in subscription writer.
 
final RtpsReliableReaderProtocol_t publication_reader
 RTPS protocol-related configuration settings for a built-in publication reader.
 
final RtpsReliableReaderProtocol_t subscription_reader
 RTPS protocol-related configuration settings for a built-in subscription reader.
 
int builtin_discovery_plugins
 The kind mask for built-in discovery plugins.
 
final RtpsReliableReaderProtocol_t participant_message_reader
 RTPS protocol-related configuration settings for a built-in participant message reader.
 
final RtpsReliableWriterProtocol_t participant_message_writer
 RTPS protocol-related configuration settings for a built-in participant message writer.
 
final PublishModeQosPolicy publication_writer_publish_mode
 Publish mode policy for the built-in publication writer.
 
final PublishModeQosPolicy subscription_writer_publish_mode
 Publish mode policy for the built-in subscription writer.
 
final
AsynchronousPublisherQosPolicy 
asynchronous_publisher
 Asynchronous publishing settings for the discovery com.rti.dds.publication.Publisher and all entities that are created by it.
 
final Duration_t default_domain_announcement_period
 The period to announce a participant to the default domain 0.
 
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.
 
- Public Attributes inherited from QosPolicy
final QosPolicyId_t id
 The ID of this QoS policy.
 
final String policy_name
 The name of this QoS policy.
 

Additional Inherited Members

- Public Member Functions inherited from Struct
abstract boolean equals (Object obj)
 
abstract int hashCode ()
 
String toString ()
 
- Protected Member Functions inherited from Struct
 Struct ()
 
abstract void pull_from_nativeI (long native_status)
 
abstract void push_to_nativeI (long native_status)
 

Detailed Description

Settings for discovery configuration.

This QoS policy is an extension to the DDS standard.

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

Member Data Documentation

final Duration_t 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 com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.participant_liveliness_assert_period.

[default] 100 seconds

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

final Duration_t 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 com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.participant_liveliness_lease_duration.

[default] 30 seconds

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

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.

Most users will not need to change this value from its default, com.rti.dds.infrastructure.RemoteParticipantPurgeKind.LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE. However, com.rti.dds.infrastructure.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 com.rti.dds.infrastructure.LivelinessQosPolicyKind.

[default] com.rti.dds.infrastructure.RemoteParticipantPurgeKind.LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE

final 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.

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 com.rti.dds.subscription.DataReader will learn of the loss of liveliness of a matched com.rti.dds.publication.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]

int 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]

final 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.

A random delay between this and com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.max_initial_participant_announcement_period is introduced in between initial announcements when a new remote participant is discovered.

The setting of com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.min_initial_participant_announcement_period must be consistent with com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.max_initial_participant_announcement_period. For these two values to be consistent, they must verify that:

com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.min_initial_participant_announcement_period <= com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.max_initial_participant_announcement_period.

[default] 1 second

[range] [1 nanosec,1 year]

final 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.

A random delay between com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.min_initial_participant_announcement_period and this is introduced in between initial announcements when a new remote participant is discovered.

The setting of com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.max_initial_participant_announcement_period must be consistent with com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.min_initial_participant_announcement_period. For these two values to be consistent, they must verify that:

com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.min_initial_participant_announcement_period <= com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.max_initial_participant_announcement_period.

[default] 1 second

[range] [1 nanosec,1 year]

final BuiltinTopicReaderResourceLimits_t participant_reader_resource_limits

Resource limits.

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

final BuiltinTopicReaderResourceLimits_t publication_reader_resource_limits

Resource limits.

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

final BuiltinTopicReaderResourceLimits_t subscription_reader_resource_limits

Resource limits.

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

final RtpsReliableWriterProtocol_t publication_writer

RTPS protocol-related configuration settings for a built-in publication writer.

For details, refer to the com.rti.dds.publication.DataWriterQos

final WriterDataLifecycleQosPolicy publication_writer_data_lifecycle

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

For details, refer to the com.rti.dds.infrastructure.WriterDataLifecycleQosPolicy. com.rti.dds.infrastructure.WriterDataLifecycleQosPolicy.autodispose_unregistered_instances will always be forced to com.rti.dds.infrastructure.true.

final RtpsReliableWriterProtocol_t subscription_writer

RTPS protocol-related configuration settings for a built-in subscription writer.

For details, refer to the com.rti.dds.publication.DataWriterQos

final WriterDataLifecycleQosPolicy subscription_writer_data_lifecycle

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

For details, refer to the com.rti.dds.infrastructure.WriterDataLifecycleQosPolicy. com.rti.dds.infrastructure.WriterDataLifecycleQosPolicy.autodispose_unregistered_instances will always be forced to com.rti.dds.infrastructure.true.

final RtpsReliableReaderProtocol_t publication_reader

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

For details, refer to the com.rti.dds.subscription.DataReaderQos

final RtpsReliableReaderProtocol_t subscription_reader

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

For details, refer to the com.rti.dds.subscription.DataReaderQos

int builtin_discovery_plugins
Initial value:
=
DiscoveryConfigBuiltinPluginKind.MASK_DEFAULT

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] com.rti.dds.infrastructure.DiscoveryConfigBuiltinPluginKind.DiscoveryConfigBuiltinPluginKind.SDP

final RtpsReliableReaderProtocol_t participant_message_reader

RTPS protocol-related configuration settings for a built-in participant message reader.

For details, refer to the com.rti.dds.subscription.DataReaderQos

final RtpsReliableWriterProtocol_t participant_message_writer

RTPS protocol-related configuration settings for a built-in participant message writer.

For details, refer to the com.rti.dds.publication.DataWriterQos

final PublishModeQosPolicy publication_writer_publish_mode

Publish mode policy for the built-in publication writer.

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

final PublishModeQosPolicy subscription_writer_publish_mode

Publish mode policy for the built-in subscription writer.

Determines whether the Discovery built-in subscription com.rti.dds.publication.DataWriter publishes data synchronously or asynchronously and how.

final AsynchronousPublisherQosPolicy asynchronous_publisher

Asynchronous publishing settings for the discovery com.rti.dds.publication.Publisher and all entities that are created by it.

final Duration_t 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 com.rti.dds.infrastructure.Duration_t.INFINITE.

When this period is set to a value other than com.rti.dds.infrastructure.Duration_t.INFINITE and com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.ignore_default_domain_announcements is set to com.rti.dds.infrastructure.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 builtin.ParticipantBuiltinTopicData built-in DataReader's listener.

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

[default] 30 seconds

[range] [1 nanosec,1 year] or com.rti.dds.infrastructure.Duration_t.INFINITE

See Also
builtin.ParticipantBuiltinTopicData.domain_id
com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.ignore_default_domain_announcements
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.

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

When this setting is set to com.rti.dds.infrastructure.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 com.rti.dds.infrastructure.false, a participant running on the default domain 0 will provide announcements from participants running on different domain IDs to the application via the builtin.ParticipantBuiltinTopicData built-in DataReader.

[default] com.rti.dds.infrastructure.true

See Also
builtin.ParticipantBuiltinTopicData.domain_id
com.rti.dds.infrastructure.DiscoveryConfigQosPolicy.default_domain_announcement_period

RTI Connext Java API Version 5.1.0 Copyright © Mon Feb 3 2014 Real-Time Innovations, Inc