Supported RMWs
Content-filtering is supported by the following RMWs as of the Humble release:
rmw_fastrtps - default Humble RMW
rmw_connext
rmw_gurumdds_cpp
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
added contentFilter to Options
added static getDefaultOptions()
updated createSubscription() to support contentFilter
node.d.ts
added content-filter types
subscription.js
isContentFilteringEnabled()
setContentFilter()
clearContentFilter()
subscription.d.ts
updated with content-filter api
rcl_bindings.cpp
added content-filtering to CreateSubscription()
rmw.js
new class for identifying the current ROS middleware
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