RTI Connext Modern C++ API Version 7.3.0

Built-in objects created by RTI Connext but accessible to the application. More...

Modules

 Participant Built-in Topics
 Builtin topic for accessing information about the DomainParticipants discovered by RTI Connext.
 
 Topic Built-in Topics
 Builtin topic for accessing information about the Topics discovered by RTI Connext.
 
 Publication Built-in Topics
 Builtin topic for accessing information about the Publications discovered by RTI Connext.
 
 Subscription Built-in Topics
 Builtin topic for accessing information about the Subscriptions discovered by RTI Connext.
 
 ServiceRequest Built-in Topic
 Builtin topic for accessing requests from different services within RTI Connext.
 

Detailed Description

Built-in objects created by RTI Connext but accessible to the application.

RTI Connext must discover and keep track of the remote entities, such as new participants in the domain. This information may also be important to the application, which may want to react to this discovery, or else access it on demand.

A set of built-in topics and corresponding dds::sub::DataReader objects are introduced to be used by the application to access this discovery information.

The information can be accessed as if it were normal application data. This allows the application to know when there are any changes in those values by means of the Listener or the dds::core::cond::Condition mechanisms.

The built-in data-readers all belong to a built-in dds::sub::Subscriber, which can be retrieved by using the method dds::sub::builtin_subscriber. The built-in dds::sub::DataReader objects can be retrieved by using the operation dds::sub::find, with the topic name as a parameter.

Built-in entities have default listener settings as well. The built-in dds::sub::Subscriber and all of its built-in topics have 'nil' listeners with all statuses appearing in their listener masks (acting as a NO-OP listener that does not reset communication status). The built-in DataReaders have null listeners with no statuses in their masks.

The information that is accessible about the remote entities by means of the built-in topics includes all the QoS policies that apply to the corresponding remote Entity. These QoS policies appear as normal 'data' fields inside the data read by means of the built-in Topic. Additional information is provided to identify the Entity and facilitate the application logic.

The built-in dds::sub::DataReader will not provide data pertaining to entities created from the same dds::domain::DomainParticipant under the assumption that such entities are already known to the application that created them.

The discovery information provided by each built-in reader won't be received until it is first looked up. And if the DomainParticipant was created in a disabled state (see dds::core::policy::EntityFactory), the built-in subscriber and readers will need to be enabled explicitly (by the dds::core::Entity::enable operation).

Refer to dds::topic::ParticipantBuiltinTopicData, dds::topic::TopicBuiltinTopicData, dds::topic::SubscriptionBuiltinTopicData and dds::topic::PublicationBuiltinTopicData for a description of all the built-in topics and their contents.

The QoS of the built-in dds::sub::Subscriber and dds::sub::DataReader objects is given by the following table:

QoS of built-in dds::sub::Subscriber and dds::sub::DataReader
QoS Value
dds::core::policy::UserData 0-length sequence
dds::core::policy::TopicData 0-length sequence
dds::core::policy::GroupData 0-length sequence
dds::core::policy::Durability dds::core::policy::DurabilityKind::TRANSIENT_LOCAL
dds::core::policy::DurabilityService Does not apply as dds::core::policy::DurabilityKind is dds::core::policy::DurabilityKind::TRANSIENT_LOCAL
dds::core::policy::Presentation access_scope = dds::core::policy::PresentationAccessScopeKind_def::TOPIC
coherent_access = false
ordered_access = false
dds::core::policy::Deadline Period = infinite
dds::core::policy::LatencyBudget duration = 0
dds::core::policy::Ownership dds::core::policy::OwnershipKind_def::SHARED
dds::core::policy::OwnershipStrength value = 0
dds::core::policy::Liveliness kind = dds::core::policy::LivelinessKind::AUTOMATIC
lease_duration = 0
dds::core::policy::TimeBasedFilter minimum_separation = 0
dds::core::policy::Partition 0-length sequence
dds::core::policy::Reliability kind = dds::core::policy::ReliabilityKind_def::RELIABLE
max_blocking_time = 100 milliseconds
dds::core::policy::DestinationOrder dds::core::policy::DestinationOrderKind::BY_RECEPTION_TIMESTAMP
dds::core::policy::History kind = dds::core::policy::HistoryKind::KEEP_LAST
depth = 1
dds::core::policy::ResourceLimits max_samples = dds::core::LENGTH_UNLIMITED
max_instances = dds::core::LENGTH_UNLIMITED
max_samples_per_instance = dds::core::LENGTH_UNLIMITED
dds::core::policy::ReaderDataLifecycle autopurge_nowriter_samples_delay = infinite
autopurge_disposed_samples_delay = infinite
dds::core::policy::EntityFactory

autoenable_created_entities = true