RTI Connext DDS Micro C API
Version 3.0.3
|
Descriptions of remote entities used for discovery. More...
Modules | |
Publication Built-in Topic | |
Builtin topic for configuring information about the Publications to be discovered by RTI Connext DDS Micro. | |
Subscription Built-in Topic | |
Builtin topic for configuring information about the Subscriptions to be discovered by RTI Connext DDS Micro. |
Data Structures | |
struct | DDS_ParticipantBuiltinTopicData |
<<cert>> Object representing a remote DomainParticipant. More... | |
struct | DDS_Locator_t |
<<eXtension>> <<cert>> 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 |
<<eXtension>> <<cert>> Type used to represent the version of the RTPS protocol. More... | |
struct | DDS_VendorId |
<<eXtension>> <<cert>> Type used to represent the vendor of the service implementing the RTPS protocol. More... | |
struct | DDS_VendorId_t |
<<eXtension>> <<cert>> Type used to represent the vendor of the service implementing the RTPS protocol. More... | |
struct | DDS_BuiltinTopicKey_t |
The key type of the built-in topic types. More... |
Macros | |
#define | DDS_PARTICIPANT_TOPIC_NAME DDS_PARTICIPANT_BUILTIN_TOPIC_NAME |
Participant topic name. | |
#define | DDS_LOCATOR_INVALID RTPS_LOCATOR_INVALID |
An invalid locator. | |
#define | DDS_LOCATOR_KIND_INVALID |
Locator of this kind is invalid. | |
#define | DDS_LOCATOR_PORT_INVALID |
An invalid port. | |
#define | DDS_LOCATOR_ADDRESS_INVALID RTPS_LOCATOR_ADDRESS_INVALID |
An invalid address. | |
#define | DDS_LOCATOR_KIND_UDPv4 |
A locator for a UDPv4 address. | |
#define | DDS_LOCATOR_KIND_UDPv6 |
A locator for a UDPv6 address. | |
#define | DDS_LOCATOR_KIND_RESERVED |
Locator of this kind is reserved. | |
#define | DDS_LOCATOR_KIND_SHMEM |
A locator for an address acessed via shared memory. | |
#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 most recent protocol version. Currently 1.2. | |
#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. |
Typedefs | |
typedef struct DDS_ProtocolVersion | DDS_ProtocolVersion_t |
<<eXtension>> <<cert>> Type used to represent the version of the RTPS protocol. | |
typedef struct DDS_BuiltinTopicKey_t | DDS_BuiltinTopicKey_t |
The key type of the built-in topic types. |
Descriptions of remote entities used for discovery.
Given a DDS entity, a remote entity is any other entity that can be discovered and matched. A built-in object is a description of a remote entity, including all the QoS which are important for discovery and matching of remote readers and writers with local readers and writers.
RTI Connext DDS Micro must discover and keep track of the remote entities, such as new participants in the domain. Depending on the type of discovery used, this information about remote entities is gathered in three ways:
1. No data is sent over the network (static discovery)
2. A subset is sent over the network (dynamic participant/static endpoint discovery), while the rest is statically asserted.
3. All data about DomainParticipants DataReaders and DataWriters is over the network (simple discovery)
In the first case, all information about remote DomainParticipants DataReaders and DataWriters is statically configured by the user before starting the middleware. To do this static configuration, the user must fill in the built-in structures for all remote entities it wishes to discover, and must asssert them to the middleware. This type of discovery is not supported in this version of RTI Connext DDS Micro.
In the second case, the participant data is sent over the network, but the endpoint data is statically configured. So, the local application fills in builtin structures representing the QoS and object IDs all the remote readers and writers it wishes to discover. For this type of discovery the user does not configure builtin data for remote participants. This type of discovery is faster than Simple Discovery, and does not require reliable communication. This is supported by RTI Connext DDS Micro and is known as Dynamic Participant, Static Endpoint (DPSE) discovery.
In the last case, the user does not need to fill in any data about remote entities, because it is automatically sent over the network by the middleware. The user can access the data through special listeners for discovery traffic. This is supported by RTI Connext DDS Micro and is known as Dynamic Participant, Dynamic Endpoint (DPDE) discovery.
Refer to DDS_ParticipantBuiltinTopicData, DDS_SubscriptionBuiltinTopicData and DDS_PublicationBuiltinTopicData for a description of all the built-in topics and their contents.
<<eXtension>> <<cert>> Dynamic Participant, Static Endpoint Discovery plugin mechanism for RTI Connext DDS Micro.
#define DDS_PARTICIPANT_TOPIC_NAME DDS_PARTICIPANT_BUILTIN_TOPIC_NAME |
Participant topic name.
Topic name of participant builtin topic data datareader.
#define DDS_LOCATOR_INVALID RTPS_LOCATOR_INVALID |
An invalid locator.
#define DDS_LOCATOR_KIND_INVALID |
Locator of this kind is invalid.
#define DDS_LOCATOR_PORT_INVALID |
An invalid port.
#define DDS_LOCATOR_ADDRESS_INVALID RTPS_LOCATOR_ADDRESS_INVALID |
An invalid address.
#define DDS_LOCATOR_KIND_UDPv4 |
A locator for a UDPv4 address.
#define DDS_LOCATOR_KIND_UDPv6 |
A locator for a UDPv6 address.
#define DDS_LOCATOR_KIND_RESERVED |
Locator of this kind is reserved.
#define DDS_LOCATOR_KIND_SHMEM |
A locator for an address acessed via shared memory.
#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 most recent protocol version. Currently 1.2.
#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.
typedef struct DDS_ProtocolVersion DDS_ProtocolVersion_t |
<<eXtension>> <<cert>> Type used to represent the version of the RTPS protocol.
typedef struct DDS_BuiltinTopicKey_t DDS_BuiltinTopicKey_t |
The key type of the built-in topic types.
Each remote DDS_Entity to be discovered can be uniquely identified by this key. This is the key of all the built-in topic data types.
The value of element DDS_BUILTIN_TOPIC_KEY_OBJECT_ID is the object ID of the remote entity. In Dynamic Participant/Static Endpoint discovery, this must be set correctly for each remote DDS_DataReader and DDS_DataWriter that an application intends to discover.
For example, to configure a remote DDS_DataWriter with object ID 100 by setting the key in the DDS_PublicationBuiltinTopicData: