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.DataReader objects are introduced to be used by the application to access these discovery information.
The information can be accessed as if it was normal application data. This allows the application to know when there are any changes in those values by means of the DDS.Listener or the DDS.Condition mechanisms.
The built-in data-readers all belong to a built-in DDS.Subscriber, which can be retrieved by using the procedure DDS.DomainParticipant.get_builtin_subscriber. The built-in DDS.DataReader objects can be retrieved by using the operation DDS.Subscriber.lookup_datareader, with the topic name as a parameter.
Built-in entities have default listener settings as well. The built-in DDS.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. This 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.DataReader will not provide data pertaining to entities created from the same DDS.DomainParticipant under the assumption that such entities are already known to the application that created them.
Refer to DDS.ParticipantBuiltinTopicData, DDS.TopicBuiltinTopicData, DDS.SubscriptionBuiltinTopicData and DDS.PublicationBuiltinTopicData for a description of all the built-in topics and their contents.
The QoS of the built-in DDS.Subscriber and DDS.DataReader objects is given by the following table:
QoS | Value |
---|---|
DDS.UserDataQosPolicy | 0-length sequence |
DDS.TopicDataQosPolicy | 0-length sequence |
DDS.GroupDataQosPolicy | 0-length sequence |
DDS.DurabilityQosPolicy | DDS.TRANSIENT_LOCAL_DURABILITY_QOS |
DDS.DurabilityServiceQosPolicy | Does not apply as DDS.DurabilityQosPolicyKind is DDS.TRANSIENT_LOCAL_DURABILITY_QOS |
DDS.PresentationQosPolicy | access_scope = DDS.TOPIC_PRESENTATION_QOS coherent_access = DDS.BOOLEAN_FALSE ordered_access = DDS.BOOLEAN_FALSE |
DDS.DeadlineQosPolicy | Period = infinite |
DDS.LatencyBudgetQosPolicy | duration = 0 |
DDS.OwnershipQosPolicy | DDS.SHARED_OWNERSHIP_QOS |
DDS.OwnershipStrengthQosPolicy | value = 0 |
DDS.LivelinessQosPolicy | kind = DDS.AUTOMATIC_LIVELINESS_QOS lease_duration = 0 |
DDS.TimeBasedFilterQosPolicy | minimum_separation = 0 |
DDS.PartitionQosPolicy | 0-length sequence |
DDS.ReliabilityQosPolicy | kind = DDS.RELIABLE_RELIABILITY_QOS max_blocking_time = 100 milliseconds |
DDS.DestinationOrderQosPolicy | DDS.BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS |
DDS.HistoryQosPolicy | kind = DDS.KEEP_LAST_HISTORY_QOS depth = 1 |
DDS.ResourceLimitsQosPolicy | max_samples = DDS.LENGTH_UNLIMITED max_instances = DDS.LENGTH_UNLIMITED max_samples_per_instance = DDS.LENGTH_UNLIMITED |
DDS.ReaderDataLifecycleQosPolicy | autopurge_nowriter_samples_delay = infinite autopurge_disposed_samples_delay = infinite |
DDS.EntityFactoryQosPolicy | autoenable_created_entities = DDS.BOOLEAN_TRUE |