ros2 / rmw_zenoh

RMW for ROS 2 using Zenoh as the middleware
Apache License 2.0
142 stars 29 forks source link

Implement rmw_take_sequence. #221

Closed clalancette closed 6 days ago

clalancette commented 1 week ago

While this isn't currently used by rclcpp and rclpy, it is used inside of rcl, specifically in testing. Thus we need to implement it to pass all rcl tests.

To reduce code duplication, this commit refactors rmw_take() to handle this case. In particular, we rename __rmw_take() to rmw_take_one(), with no error checking. Then we change rmw_take() and rmw_take_with_info() to do the error checking and call rmw_take_one(). Finally we implement rmw_take_sequence() by calling rwm_take_one() in a loop.