2. DDS Router Participant

DDS Router Participant is a DDS Router entity that works as an interface between a network and the core of the router. Participants are the main elements inside the DDS Router functionality.

2.1. Participant

A Participant is an abstraction over the DDS DomainParticipant. This entity manages the dynamic discovery of DDS entities on a specific network or interface. Each Participant is uniquely identified by a Participant Name in a DDS Router execution and has a predefined Participant Kind that specifies the internal general functionality of the Participant.

2.1.1. Participant Name

It is an alphanumeric string that uniquely identifies a Participant in a DDS Router execution.

2.1.2. Participant Kind

It specifies the kind of the Participant. There are several Participant kinds already defined, which will specify in general terms how the Participant behaves.

2.2. Participant creation

Each participant configuration is specified as a different item of participants array, and each of these configurations has a unique Participant Name that should not be repeated in a DDS Router execution.

Each Participant Kind is associated with one or several names or aliases that represent it. In order to use a Participant of a specific kind, use kind tag in the yaml configuration file. If the kind is not any of the valid aliases, the Participant will not be created and the execution will fail.

Note

There could be as many Participants as required, and their kinds could be repeated, but all names must be unique.

Below are some examples on how to configure a Participant:

- name: participant_1  # New Participant with Name = 'participant_1'
  kind: simple         # 'participant_1' will be created of kind 'simple'
  extra_configuration: ...

2.3. Participant kinds

Below is the list with all the available Participant Kinds.

Participant Kind

Aliases

Specific
configuration tags

Description

Echo Participant

echo

discovery
data
verbose

Print in stdout all user and/or discovery data received.

Simple Participant

simple
local

domain

Simple DDS DomainParticipant.

Local Discovery Server Participant

discovery-server
local-ds
ds

guid
listening-addresses
connection-addresses
tls

Discovery Server DDS DomainParticipant
for local communication.

Discovery Server WAN Participant

wan-discovery-server
wan-ds

guid
listening-addresses
connection-addresses
tls

Discovery Server DDS DomainParticipant
for WAN communication.

WAN Participant

wan
router
initial-peers

guid
listening-addresses
connection-addresses
tls

Initial Peers DDS DomainParticipant
for WAN communication.

XML Participant

xml
XML

profile

XML DDS DomainParticipant
for custom configuration.