ros2 / rmw_zenoh

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

Items to get rmw_zenoh to Tier-1 status #265

Open clalancette opened 3 months ago

clalancette commented 3 months ago

The goal for Kilted is to get rmw_zenoh_cpp to Tier-1 status. To get there, we need to do the following (in rough priority order, finished items at the end):

Status Item Why? Related issues/PRs
In progress Make rmw_zenoh_cpp thread-safe rmw_zenoh_cpp must be thread-safe between e.g. rmw_destroy_subscriber and a callback that is coming in at the same time #258, #259, #278 , #289, #288
In progress Make rmw_zenoh_cpp pass all core tests #267
In progress Switch to Zenoh 1.0 Zenoh 1.0 changes the on-the-wire protocol, we should keep up with these changes #276
Not started Switch to zenoh-cpp (this will fix a few threading issues)
Not started Implement Security (i.e. SROS2) for rmw_zenoh_cpp This is required for Tier-1 RMW implementations
In progress Make rmw_zenoh_cpp work on Windows Windows is a Tier-1 platform, thus it must be supported #232, #268
In-progress Reduce the session creation time It currently takes 1.5 seconds to create a session, but ROS 2 assumes it is more-or-less instantaneous #284
In progress Switch to using the upstream zenohd The zenohd shipped here is a subset of functionality; thus we should switch to the upstream one which has full functionality #262
Not started Figure out exactly how and when the zenohd router will be run
Not started Add in a QUALITY_DECLARATION.md file
Done :heavy_check_mark: Fix transient-local missed messages Transient local should work in all circumstances #263
Done :heavy_check_mark: Make rmw_zenoh_cpp compatible with Iron, Jazzy, and Rolling Rolling recently removed the localhost_only option, so we need some follow-up so it will compile there #255
Done :heavy_check_mark: Test rmw_zenoh_cpp on RHEL-9 RHEL-9 is a Tier-2 platform, and thus should be supported :heavy_check_mark: https://github.com/ros2/rmw_zenoh/issues/265#issuecomment-2304656698
Done (for now) :heavy_check_mark: Fix shutdown unsoundness Zenoh cannot be destroyed during atexit handlers, so we have to do that ahead of time #170, #283
ahcorde commented 2 months ago

I tried RHEL-9 and rosdep is bringing the required packages cargo and rust to run the rmw_zenoh_cpp. I was able to compile it properly.