RTI Connext DDS Micro C API  Version 3.0.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Discovery

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.

Detailed Description

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.


Macro Definition Documentation

#define DDS_PARTICIPANT_TOPIC_NAME   DDS_PARTICIPANT_BUILTIN_TOPIC_NAME

Participant topic name.

Topic name of participant builtin topic data datareader.

See also:
DDS_ParticipantBuiltinTopicData
#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 Documentation

<<eXtension>> <<cert>> Type used to represent the version of the RTPS protocol.

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:

remote_pub_data.key.value[DDS_BUILTIN_TOPIC_KEY_OBJECT_ID] = 100;
See also:
DDS_ParticipantBuiltinTopicData
DDS_PublicationBuiltinTopicData
DDS_SubscriptionBuiltinTopicData

RTI Connext DDS Micro C API Version 3.0.3 Copyright © Wed Jun 24 2020 Real-Time Innovations, Inc