ros2 / rmw_zenoh

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

More overall improvements to the code #98

Closed clalancette closed 8 months ago

clalancette commented 8 months ago

This small series does another pass through the subscription, clients, services, and guard condition code, making improvements. In particular:

  1. It fixes a bug where guard conditions would be ready over and over again. This would cause very high CPU load. Now once we get the status of a guard condition, we also reset the trigger.
  2. It encapsulates subscriptions, services, and client code into their own classes. This allows us to make more of the class fields private, and do proper locking around them. It also has a side benefit of moving some code out of rmw_zenoh.cpp, which has grown quite large.