Skip to content

Move the QoS detection code to a more central place #601

Open
@clalancette

Description

@clalancette

Description

rosbag2 currently has the ability to automatically detect the QoS of publishers and set itself up to successfully receive data from them. It looks like this went in via the following issue: #125 . Also, it looks like the core code that implements this is here and here.

This is a great capability that has applicability outside of rosbag2. At least the following two other use cases have come up:

  1. When using the ros1_bridge, it would be nice if the QoS could be auto-detected across the bridge.
  2. When using RViz2, it would be nice if the user didn't have to specify the QoS settings when subscribing to topics.

There may be other uses.

The idea here would be to take that Rosbag2QoS class (and any supporting infrastructure), rename it, and move it into a more central location (probably rclcpp, though we may want to consider putting it in the rcl layer so other client libraries have access to it).

Related Issues

#125

Completion Criteria

  • Move the Rosbag2QoS class to a central location
  • Move the tests (as appropriate) for Rosbag2QoS to a central location
  • Refactor rosbag2 to use the new class

Testing Notes / Suggestions

Unit tests already exist for this, so making sure those unit tests continue to run. Also making sure that rosbag2 continues to operate as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions