eager-dev/eagerx

[Feature Request] Allow connections to be blocking in asynchronous mode.

bheijden opened this issue ยท 0 comments

๐Ÿš€ Feature

Allow connections to block in sync=False mode when blocking=True in the Graph.connect. Should default to False to make it a non-breaking change.

Append delay information to output messages to enable delay simulation in sync=True mode.

Motivation

In a graph, users may only want to run some parts asynchronously, while keeping other parts synchronized. In ROS this behavior would be implemented using blocking services. By adding the option for connection to be blocking, users can neatly mimic this behavior.

This would complicate delay simulation, because the delay of a message would be influenced by all the upstream nodes on which the message indirectly depended. In pure asynchronous mode, this is not a problem.

Checklist

  • I have checked that there is no similar issue in the repo (required)