Skip to content

rmw_feature_supported returns false for RMW_FEATURE_MESSAGE_INFO_PUBLICATION_SEQUENCE_NUMBER #907

@pszenher

Description

@pszenher

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.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions