ROS graph information tools implementation discussion

Hi all, I’d like to kick this thread back up.

Problem:

We are only able to access all nodes and all topics/types.
No equivalent rosnode info exists for ROS2 and these daemon’s are still not available.

Goal

Expose the node graph for gui and cli tools to show the user.
Expose the following per node via rcl API:

  • services
  • subscriptions
  • publications
  • actions

Solution

Regardless of the daemon or on-demand approach to accessing node graph details, exposing the node graph through the rcl layer for tools to use would be advantageous to developers.

These interfaces will be fulfilled via the Simple Discovery Protocol, which uses well-defined unicast and multicast ports for each participant to listen to meta-traffic.

Are there any objections to using SDP to discover the node graph?