2.3.3. Local Discovery Server Participant¶
This kind of Participant refers to a Discovery Server DomainParticipant. This Participant will work as discovery broker for those Participants that connect to it (clients or servers). It could also connect to one or multiple Discovery Servers to create a Discovery Server Network.
2.3.3.1. Use case¶
Use this Participant in order to communicate an internal DDS network using Discovery Server. This is highly useful in networks that do not support multicast communication; or to reduce the number of meta-traffic packets exchanged in discovery, reducing the network traffic in the discovery process.
2.3.3.2. Kind aliases¶
discovery-server
local-ds
ds
local-discovery-server
2.3.3.3. Configuration¶
The Local Discovery Server Participant allows users to configure the standard attributes of a Discovery Server.
To configure the Discovery Server GuidPrefix, check the Domain Id configuration section.
To configure the Discovery Server listening addresses, check the Listening Addresses configuration section.
To configure the Discovery Server connection addresses to connect to other Discovery Servers, check the Connection Addresses configuration section.
Note
The network addresses set in listening-addresses and connection-addresses use UDP
transport by default
if the transport is not specified in the address configuration.
2.3.3.4. Configuration Example¶
Configure a Local Discovery Server setting the GuidPrefix used for ROS 2 deployments with id 2
(44.53.02.5f.45.50.52.4f.53.49.4d.41
).
It listens for clients in localhost in ports 11600
in UDP
and 11601
in TCP
.
This example connects the local Discovery Server Participant with a remote Discovery Server listening in IPv6 address
2001:4860:4860::8888
and port 11666
.
- name: local_discovery_server_participant # Participant Name = local_discovery_server_participant
kind: discovery-server
discovery-server-guid:
id: 2
ros-discovery-server: true # ROS Discovery Server id => GuidPrefix = 44.53.02.5f.45.50.52.4f.53.49.4d.41
listening-addresses: # Local Discovery Server Listening Addresses
- ip: 127.0.0.1 # Use UDP by default
port: 11600
- ip: 127.0.0.1
port: 11601
transport: tcp # Use TCP transport
connection-addresses: # External Discovery Server Listening Addresses
- ip: 2001:4860:4860::8888 # Use UDP by default
port: 11666