-
Notifications
You must be signed in to change notification settings - Fork 81
Description
The rmw_feature_supported function for rmw_zenoh returns false for an argument of RMW_FEATURE_MESSAGE_INFO_PUBLICATION_SEQUENCE_NUMBER, though the implementation ostensibly implements and supports correctly-behaving publication sequence numbers.
rmw_zenoh/rmw_zenoh_cpp/src/rmw_zenoh.cpp
Lines 139 to 150 in 4dcd184
| bool rmw_feature_supported(rmw_feature_t feature) | |
| { | |
| switch (feature) { | |
| case RMW_FEATURE_MESSAGE_INFO_PUBLICATION_SEQUENCE_NUMBER: | |
| return false; | |
| case RMW_FEATURE_MESSAGE_INFO_RECEPTION_SEQUENCE_NUMBER: | |
| return false; | |
| case RMW_MIDDLEWARE_SUPPORTS_TYPE_DISCOVERY: | |
| return true; | |
| case RMW_MIDDLEWARE_CAN_TAKE_DYNAMIC_MESSAGE: | |
| return false; | |
| } |
Is this an artifact left from prior to the implementation of publication sequence numbers in rmw_zenoh, or is there an issue with the current implementation that suggests that the publication_sequence_number field of returned rmw_message_info_t messages shouldn't be relied on?
Note that the rmw_feature_supported function does not appear to have wide use among client library implementations currenly, with rcl using it only for a single check of RMW_MIDDLEWARE_SUPPORTS_TYPE_DISCOVERY, and neither rclcpp nor rclpy referencing it at all.