-
Notifications
You must be signed in to change notification settings - Fork 78
Closed
Description
Feature request
Feature description
Draft overview and background is ros2/design#282,
Introduce dds contentfiltertopic to ROS, dds specification is DDS v1.4 2.2.2.3.3 ContentFilteredTopic Class. ContentFilteredTopic can be created on parent topic and DataReader only receives the messages that matches with filtering expression and expression parameters. If implementation does not support this feature, it returns not support.
- rmw implementation support.
| Implementation | Supported | Comment |
|---|---|---|
| RTI Connext | Yes | https://community.rti.com/examples/content-filtered-topic, Not sure if filtering is done on writer or reader side. |
| eProsima Fast-DDS | No | |
| ADLINK cyclonedds | No | |
| ADLINK OpenSplice | Yes | E.O.L foxy or newer |
-
expected user for this feature.
- action feedback / status topics.
- parameter_events topic.
- user defined topics.
Implementation considerations
rmwandrclimplementationContentFilteredTopic requires parent topic, returning capability for ContentFilteredTopic with rmw_create_subscriotion rmw_subscription_t. So that rclcpp/rcl can tell if the implementation supports it or not.- Based on parent topic and subscription, it can create ContentFilteredTopic with subtopic name, filtering expression and expression parameters. Then implementation creates ContentFilteredTopic and replace the DataReader.
- Expression parameter can be changed via setter dynamically, also getter should be provided. but filtering expression cannot be changed unless re-creating ContentFilteringTopic.
- Test must be added to make sure ContentFIlteredTopic supported and functions.
rclandrclcpp- Action feedback and status to use ContentFilteredTopic.
- Introduce new class for
parameter_eventsfiltering which calls ContentFilteredTopic. - Filtering in
rclbased when rmw does not support ContentFilteredTopic.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels