In ros2/rmw_connext#76 I complained about nondeterministic startup behavior for 2 nodes communicating in the same process (but this was before the intra-process pipeline was implemented)). It was argued that this is acceptable behavior, since the two nodes are being initialized through DDS and DDS discovery can't make timing guarantees.
I would expect nodes within the same process to be able to avoid this nondeterministic startup behavior if the intra-process pipeline were utilized. This would be an acceptable solution.
However, the intra-process pipeline currently does not work for communication between two different nodes in the same process. I assume because the intra-process manager is a child of the context, not the node, that this feature should be implemented.
In branch multiple_nodes of system_tests, I added a case for publishing messages from one node to another node in the same process:
https://github.com/ros2/system_tests/blob/multiple_nodes/test_rclcpp/test/test_intra_process.cpp#L154
Currently the callback fails to trigger.
This feature is probably not urgent right now, but important for node composability.
In ros2/rmw_connext#76 I complained about nondeterministic startup behavior for 2 nodes communicating in the same process (but this was before the intra-process pipeline was implemented)). It was argued that this is acceptable behavior, since the two nodes are being initialized through DDS and DDS discovery can't make timing guarantees.
I would expect nodes within the same process to be able to avoid this nondeterministic startup behavior if the intra-process pipeline were utilized. This would be an acceptable solution.
However, the intra-process pipeline currently does not work for communication between two different nodes in the same process. I assume because the intra-process manager is a child of the context, not the node, that this feature should be implemented.
In branch
multiple_nodesofsystem_tests, I added a case for publishing messages from one node to another node in the same process:https://github.com/ros2/system_tests/blob/multiple_nodes/test_rclcpp/test/test_intra_process.cpp#L154
Currently the callback fails to trigger.
This feature is probably not urgent right now, but important for node composability.