Add functions to get a compatible QoS profiles#976
Add functions to get a compatible QoS profiles#976jacobperron wants to merge 2 commits intomasterfrom
Conversation
Given a node and a topic name, query QoS profiles of publishers on the topic and provide a QoS profile that is compatible with the majority of publishers. All while keeping the highest level of service possible. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
| } | ||
|
|
||
| rmw_ret_t rmw_ret = rmw_qos_profile_get_most_compatible_for_subscription( | ||
| publisher_qos_profiles, |
There was a problem hiding this comment.
This is just an idea, but what if instead this first parameter was of type rcl_topic_endpoint_info_array_t (same as rmw_topic_endpoint_info_array_t)? I guess if you're not using rcl_get_publishers_info_by_topic() (e.g. during testing), it's slightly harder to use, but it would simplify this function considerably.
Do you think this rmw_qos_profile_get_most_compatible_for_subscription() will often be used outside of this situation where the qos profiles you're matching would be coming from another source?
I'm not totally convinced myself, just wanted to bring it up.
There was a problem hiding this comment.
I don't have any situations in mind where rmw_qos_profile_get_most_compatible_for_subscription would be used other than like this, so your point it valid. It might actually be nicer, since we could return an array of endpoint GIDs for any that are incompatible instead of an array of bool.
|
Closing in favor of ros2/rmw#320 |
Connects to ros2/rmw#304
Given a node and a topic name, query QoS profiles of publishers on the topic and
provide a QoS profile that is compatible with the majority of publishers.
All while keeping the highest level of service possible.
In draft, since I still need to add the equivalent function for publishers. Waiting to get some feedback on the API first though.