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 Id in a DDS Router execution and has a predefined Participant Type that specifies the internal general functionality of the Participant.

2.1.1. Participant Id

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

2.1.2. Participant Type

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

2.2. Participant creation

Each Participant has a unique Participant Id that can not be repeated in a DDS Router execution. This id is the name of the tag that contains the Participant configuration.

Note

If the id is repeated, the yaml will be bad formed and the DDS Router execution will fail when configured.

Each Participant Type is associated with one or several names or aliases that represent it. In order to use a Participant of a specific type, use type tag in the yaml configuration file, or set the Participant Id as the alias of the type. If the type 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 types could be repeated, but all ids must be unique.

Below are some examples on how to configure a Participant:

participant_1:     # New Participant with Id: 'participant_1'
  type: simple     # 'participant_1' will be created of type 'simple'
  extra_configuration: ...
simple:     # New Participant with Id: 'simple' and Type: 'simple'
  extra_configuration: ...

2.3. Participant types

Below is the list with all the available Participant Types.

Participant Type

Aliases

Specific
configuration tags

Description

Echo Participant

echo

Print in stdout every 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.

WAN Participant

wan
router

guid
listening-addresses
connection-addresses
tls

Discovery Server DDS DomainParticipant
for WAN communication.