Network communication between Nodes?

The example shown in the documentation:

describes a ping node which communicates with a pong node. If I am right, in the example both nodes are running locally on the same machine. Thus, I haven’t understood if ISAAC supports a mechanism for network communication, i.e. if it is possible to run ping on machine A and pong on machine B. If the answer is yes, could you provide more details about how it works? For example, does ISAAC employs a network ‘master’ (such as roscore in ROS) which keeps track of all the nodes connections over the network?

Currently network communication is done peer-to-peer with TcpSubscriber/Publisher. These are components which you can add to a node. For example on host 1 you let your node Foo send a message to TcpSubriber. On host 2 you send the message from TcpPublisher to your other node Bar.

You can have a look at the test in engine/alice/tests/network_ping.cpp. This uses the immediate API, but it works the same with JSON apps. We will add a sample app in the future.

I would also be interested in your use case for “keep track of all node connections over the network”.