RobotWebTools / rclnodejs

Node.js version of ROS 2.0 client
https://docs.ros.org/en/jazzy/Concepts/Basic/About-Client-Libraries.html#community-maintained
Apache License 2.0
334 stars 72 forks source link

Introducing content-filtering topics #901

Closed wayneparrott closed 1 year ago

wayneparrott commented 1 year ago

ROS Humble introduced the content-filtering topics feature. This PR makes this feature available to rclnodejs developers.

Resources DDS 1.4 specification, Annex B Content-filtering tutorial https://github.com/ros2/design/pull/282 subscription.h

Supported RMWs Content-filtering is supported by the following RMWs as of the Humble release:

Note-1: rmw_cyclonedds_cpp does NOT support content-filtering yet. Note-2: Our experience is that content-filtering on rmw_fastrtps is only works on the Linux versions of ROS Humble and Rolling. Therefore, the test/blocklist.json excludes the test-subscription-content-filter.js test on Windows and Mac.

Key changes node.js

node.d.ts

subscription.js

subscription.d.ts

rcl_bindings.cpp

rmw.js

test-subscription-content-filter.js

examples:

package.json