zenoh-plugin-dds
zenoh-plugin-dds copied to clipboard
Membership status publication
The zenoh-bridge-dds
are discovering and supervising each other via a Group Management algorithm. This feature is configurable via:
-
--group-member-id <ID>
: This option allows to set a custom identifier for the bridge, that will be used in group membership algorithm (if not specified, the zenoh UUID is used). -
--group-lease <Duration>
: The lease duration (in seconds) used in group membership algorithm
I would be useful for the user if the bridge publishes the group events:
- when a remote bridge joins the group (i.e. it's discovered)
- when a remote bridge explicitly leaves the group
- when a remote bridge has its lease expired (i.e. connectivity loss or bridge crash)
Such publication can be made on zenoh, on DDS or on both.
A publication on zenoh has almost no cost if there is no subscriber. I suggest to not make this configurable and to always do the publication on zenoh (key and value to be defined).
On the other hand, a publication on DDS has a cost: the declaration of a DDS Writer that implies discovery messages. Moreover, user might want to configure the DDS topic name to possibly match with the ROS2 design (topic name prefixed with rt/
and possibly an additional namespace). I suggest to make the this configurable via and option:
-
--group-dds-topic-pub <Topic_Name>
: The name of the DDS topic on which membership events (join, leave, lease expired) are published. If not set, no publication on DDS is made.
@JEnoch has there been any progress on this aspect?