BlueZero (BØ)
Middleware for distributed applications
|
The graph protocol is a subset of the protocol, consisting of a series of messages used to allow introspection of node, topics, and services connections.
The messages sent by sockets to inform resolver about these connections are b0::resolver_msgs::NodeTopicRequest and b0::resolver_msgs::NodeServiceRequest (see Protocol).
Additionally, the b0::resolver_msgs::GetGraphRequest message can be used to retrieve the graph:
The program b0_graph_console (and also gui/b0_graph_console_gui) included in BlueZero is an example of displaying such graph, while whatching for changes to it in realtime.
Here is a rendering of the graph (b0::resolver_msgs::Graph) during a BlueZero session with several nodes running:
Black rectangles are nodes, red diamonds are services, and blue ovals are topics.
An arrow from node to topic means a node is publishing to a topic. Vice-versa, an arrow from topic to node means a node is subscribing to a topic.
An arrow from node to service means a node is offering a service. Vice-versa, an arrow from service to node means a node is using a service.
Nodes have an implicit connection to the 'resolv' service, however it is not shown in the graph.