ros2/rmw

Modify implementations to use one Participant per Context

ivanpauno opened this issue · 4 comments

Feature request

Feature description

Design document here.
The idea is to implement everything in the rmw layer, and avoid changes in upstream layers as much as possible.

Tasks already done:

  • Port rmw_fastrtps.
  • Create common package rmw_dds_common, to allow easiest porting of remaining rmw implementations.
  • Disable failing cross vendor tests (@ivanpauno)
  • (security) Update sros2 and test_security.

To do:

  • Migrate rmw_connext (not needed, we changed to rmw_connextdds which is one-participant-per-context)
  • Migrate rmw_cyclonedds

Linked PRs:
rmw_fastrtps: ros2/rmw_fastrtps#312
rmw: #189
rmw_implementation: ros2/rmw_implementation#77
rcl: ros2/rcl#515
rmw_dds_common (new package): ros2/rmw_dds_common#4
rmw_cyclonedds API update: ros2/rmw_cyclonedds#106
rmw_connext API update: ros2/rmw_connext#392

I've updated the ticket with more up to date information.

I'm fairly sure this is done now. At least, I know for sure that it is fixed in Fast-DDS and Connext. I'm also fairly certain this is the case for Cyclone DDS. @eboasson @ivanpauno Please feel free to reopen if I'm wrong about Cyclone.