Built-in Topics
[Domain Module]

Built-in objects created by RTI Data Distribution Service but accessible to the application. More...


Modules

 Participant Built-in Topics
 Builtin topic for accessing information about the DomainParticipants discovered by RTI Data Distribution Service.
 Topic Built-in Topics
 Builtin topic for accessing information about the Topics discovered by RTI Data Distribution Service.
 Publication Built-in Topics
 Builtin topic for accessing information about the Publications discovered by RTI Data Distribution Service.
 Subscription Built-in Topics
 Builtin topic for accessing information about the Subscriptions discovered by RTI Data Distribution Service.

Classes

struct  DDS_Locator_t
 <<eXtension>> Type used to represent the addressing information needed to send a message to an RTPS Endpoint using one of the supported transports. More...
struct  DDS_LocatorSeq
 Declares IDL sequence < DDS_Locator_t >. More...
struct  DDS_ProtocolVersion_t
 <<eXtension>> Type used to represent the version of the RTPS protocol. More...
struct  DDS_VendorId_t
 <<eXtension>> Type used to represent the vendor of the service implementing the RTPS protocol. More...
struct  DDS_ProductVersion_t
 <<eXtension>> Type used to represent the current version of RTI Data Distribution Service. More...
struct  DDS_BuiltinTopicKey_t
 The key type of the built-in topic types. More...
struct  DDS_ContentFilterProperty_t
 <<eXtension>> Type used to provide all the required information to enable content filtering. More...

Defines

#define DDS_LOCATOR_ADDRESS_LENGTH_MAX   16
 Declares length of address field in locator.
#define DDS_PROTOCOLVERSION_1_0   { 1, 0 }
 The protocol version 1.0.
#define DDS_PROTOCOLVERSION_1_1   { 1, 1 }
 The protocol version 1.1.
#define DDS_PROTOCOLVERSION_1_2   { 1, 2 }
 The protocol version 1.2.
#define DDS_PROTOCOLVERSION_2_0   { 2, 0 }
 The protocol version 2.0.
#define DDS_PROTOCOLVERSION_2_1   { 2, 1 }
 The protocol version 2.1.
#define DDS_PROTOCOLVERSION   { 2, 1 }
 The most recent protocol version. Currently 1.2.
#define DDS_VENDOR_ID_LENGTH_MAX   2
 Length of vendor id.
#define DDS_PRODUCTVERSION_UNKNOWN   { 0, 0, '0', 0 }
 The value used when the product version is unknown.

Variables

struct DDS_Locator_t DDS_LOCATOR_INVALID
 An invalid locator.
const DDS_Long DDS_LOCATOR_KIND_INVALID
 Locator of this kind is invalid.
const DDS_UnsignedLong DDS_LOCATOR_PORT_INVALID
 An invalid port.
const DDS_Octet DDS_LOCATOR_ADDRESS_INVALID [DDS_LOCATOR_ADDRESS_LENGTH_MAX]
 An invalid address.
const DDS_Long DDS_LOCATOR_KIND_UDPv4
 A locator for a UDPv4 address.
const DDS_Long DDS_LOCATOR_KIND_SHMEM
 A locator for an address acessed via shared memory.
const DDS_Long DDS_LOCATOR_KIND_UDPv6
 A locator for a UDPv6 address.
const DDS_Long DDS_LOCATOR_KIND_RESERVED
 Locator of this kind is reserved.

Detailed Description

Built-in objects created by RTI Data Distribution Service but accessible to the application.

RTI Data Distribution Service 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 DDSDataReader 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 DDSListener or the DDSCondition mechanisms.

The built-in data-readers all belong to a built-in DDSSubscriber, which can be retrieved by using the method DDSDomainParticipant::get_builtin_subscriber. The built-in DDSDataReader objects can be retrieved by using the operation DDSSubscriber::lookup_datareader, with the topic name as a parameter.

Built-in entities have default listener settings as well. The built-in DDSSubscriber 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 DDSDataReader will not provide data pertaining to entities created from the same DDSDomainParticipant 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 DDSSubscriber and DDSDataReader objects is given by the following table:

QoS of built-in DDSSubscriber and DDSDataReader
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


Define Documentation

#define DDS_LOCATOR_ADDRESS_LENGTH_MAX   16

Declares length of address field in locator.

#define DDS_PROTOCOLVERSION_1_0   { 1, 0 }

The protocol version 1.0.

#define DDS_PROTOCOLVERSION_1_1   { 1, 1 }

The protocol version 1.1.

#define DDS_PROTOCOLVERSION_1_2   { 1, 2 }

The protocol version 1.2.

#define DDS_PROTOCOLVERSION_2_0   { 2, 0 }

The protocol version 2.0.

#define DDS_PROTOCOLVERSION_2_1   { 2, 1 }

The protocol version 2.1.

#define DDS_PROTOCOLVERSION   { 2, 1 }

The most recent protocol version. Currently 1.2.

#define DDS_VENDOR_ID_LENGTH_MAX   2

Length of vendor id.

#define DDS_PRODUCTVERSION_UNKNOWN   { 0, 0, '0', 0 }

The value used when the product version is unknown.


Variable Documentation

An invalid locator.

Locator of this kind is invalid.

An invalid port.

const DDS_Octet DDS_LOCATOR_ADDRESS_INVALID[DDS_LOCATOR_ADDRESS_LENGTH_MAX]

An invalid address.

A locator for a UDPv4 address.

A locator for an address acessed via shared memory.

A locator for a UDPv6 address.

Locator of this kind is reserved.


RTI Data Distribution Service C++ API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc