From 5957ea095e420985a6e4dfe38164c43628036f0b Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 11:08:52 -0300 Subject: [PATCH 1/6] Document which QoS policies are correctly read by rmw_get_publishers/subscriptions_info_by_topic Signed-off-by: Ivan Santiago Paunovic --- rmw/include/rmw/get_topic_endpoint_info.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index bde2ffad..7a91a41a 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -31,6 +31,15 @@ extern "C" * the associated topic type, the publisher's gid, and the publisher QoS profile. * Names of non-existent topics are allowed, in which case an empty array will be returned. * + * \par QoS that are correctly read + * The qos profiles returned might have some invalid fields. + * Particularly, the only qos policies that are guaranteed to be shared + * during discovery are the ones that participate in endpoint matching. + * From the current qos settings available, the only ones not shared by DDS based + * implementations are `history` and `history_depth`. + * The rmw implementation must set the settings that were not correctly read to + * `RMW_QOS_POLICY_*_UNKNOWN`. + * *
* Attribute | Adherence * ------------------ | ------------- @@ -105,6 +114,15 @@ rmw_get_publishers_info_by_topic( * the associated topic type, the subscription's gid, and the subscription QoS profile. * Names of non-existent topics are allowed, in which case an empty array will be returned. * + * \par QoS that are correctly read + * The qos profiles returned might have some invalid fields. + * Particularly, the only qos policies that are guaranteed to be shared + * during discovery are the ones that participate in endpoint matching. + * From the current qos settings available, the only ones not shared by DDS based + * implementations are `history` and `history_depth`. + * The rmw implementation must set the settings that were not correctly read to + * `RMW_QOS_POLICY_*_UNKNOWN`. + * *
* Attribute | Adherence * ------------------ | ------------- From 6790f5b7015dc4bb6e236131f5f753ef6bad9934 Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 13:49:26 -0300 Subject: [PATCH 2/6] style Signed-off-by: Ivan Santiago Paunovic Co-authored-by: Jacob Perron --- rmw/include/rmw/get_topic_endpoint_info.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index 7a91a41a..cfae5bba 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -32,10 +32,10 @@ extern "C" * Names of non-existent topics are allowed, in which case an empty array will be returned. * * \par QoS that are correctly read - * The qos profiles returned might have some invalid fields. - * Particularly, the only qos policies that are guaranteed to be shared + * The QoS profiles returned might have some invalid fields. + * Particularly, the only QoS policies that are guaranteed to be shared * during discovery are the ones that participate in endpoint matching. - * From the current qos settings available, the only ones not shared by DDS based + * From the current QoS settings available, the only ones not shared by DDS based * implementations are `history` and `history_depth`. * The rmw implementation must set the settings that were not correctly read to * `RMW_QOS_POLICY_*_UNKNOWN`. From aa3a366a59d525ce54e1554b39f4721336601344 Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 13:49:39 -0300 Subject: [PATCH 3/6] style Signed-off-by: Ivan Santiago Paunovic Co-authored-by: Jacob Perron --- rmw/include/rmw/get_topic_endpoint_info.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index cfae5bba..87a17822 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -115,10 +115,10 @@ rmw_get_publishers_info_by_topic( * Names of non-existent topics are allowed, in which case an empty array will be returned. * * \par QoS that are correctly read - * The qos profiles returned might have some invalid fields. - * Particularly, the only qos policies that are guaranteed to be shared + * The QoS profiles returned might have some invalid fields. + * Particularly, the only QoS policies that are guaranteed to be shared * during discovery are the ones that participate in endpoint matching. - * From the current qos settings available, the only ones not shared by DDS based + * From the current QoS settings available, the only ones not shared by DDS based * implementations are `history` and `history_depth`. * The rmw implementation must set the settings that were not correctly read to * `RMW_QOS_POLICY_*_UNKNOWN`. From dbc1d2883b3b6469182facd9a89acb7c4900972b Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 18:03:12 -0300 Subject: [PATCH 4/6] Remove unnecessary indentation Signed-off-by: Ivan Santiago Paunovic Co-authored-by: William Woodall --- rmw/include/rmw/get_topic_endpoint_info.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index 87a17822..ea373efc 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -32,13 +32,13 @@ extern "C" * Names of non-existent topics are allowed, in which case an empty array will be returned. * * \par QoS that are correctly read - * The QoS profiles returned might have some invalid fields. - * Particularly, the only QoS policies that are guaranteed to be shared - * during discovery are the ones that participate in endpoint matching. - * From the current QoS settings available, the only ones not shared by DDS based - * implementations are `history` and `history_depth`. - * The rmw implementation must set the settings that were not correctly read to - * `RMW_QOS_POLICY_*_UNKNOWN`. + * The QoS profiles returned might have some invalid fields. + * Particularly, the only QoS policies that are guaranteed to be shared + * during discovery are the ones that participate in endpoint matching. + * From the current QoS settings available, the only ones not shared by DDS based + * implementations are `history` and `history_depth`. + * The rmw implementation must set the settings that were not correctly read to + * `RMW_QOS_POLICY_*_UNKNOWN`. * *
* Attribute | Adherence From 56983bb5706e1c8921d3adfe8bf217540b8b9725 Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 18:09:57 -0300 Subject: [PATCH 5/6] Address peer review comment Signed-off-by: Ivan Santiago Paunovic --- rmw/include/rmw/get_topic_endpoint_info.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index ea373efc..608a26db 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -115,13 +115,7 @@ rmw_get_publishers_info_by_topic( * Names of non-existent topics are allowed, in which case an empty array will be returned. * * \par QoS that are correctly read - * The QoS profiles returned might have some invalid fields. - * Particularly, the only QoS policies that are guaranteed to be shared - * during discovery are the ones that participate in endpoint matching. - * From the current QoS settings available, the only ones not shared by DDS based - * implementations are `history` and `history_depth`. - * The rmw implementation must set the settings that were not correctly read to - * `RMW_QOS_POLICY_*_UNKNOWN`. + * Not all QoS may be read correctly, \sa rmw_get_publishers_info_by_topic() for more details. * *
* Attribute | Adherence From 10b6c6be84faba1a396a868278e1756fa0795478 Mon Sep 17 00:00:00 2001 From: Ivan Santiago Paunovic Date: Mon, 12 Apr 2021 18:13:20 -0300 Subject: [PATCH 6/6] Be more clear about what is specific of DDS Signed-off-by: Ivan Santiago Paunovic --- rmw/include/rmw/get_topic_endpoint_info.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/rmw/include/rmw/get_topic_endpoint_info.h b/rmw/include/rmw/get_topic_endpoint_info.h index 608a26db..b2210959 100644 --- a/rmw/include/rmw/get_topic_endpoint_info.h +++ b/rmw/include/rmw/get_topic_endpoint_info.h @@ -33,12 +33,11 @@ extern "C" * * \par QoS that are correctly read * The QoS profiles returned might have some invalid fields. - * Particularly, the only QoS policies that are guaranteed to be shared + * The rmw implementation must set the invalid fields to `RMW_QOS_POLICY_*_UNKNOWN`. + * For DDS based implementations, the only QoS policies that are guaranteed to be shared * during discovery are the ones that participate in endpoint matching. * From the current QoS settings available, the only ones not shared by DDS based * implementations are `history` and `history_depth`. - * The rmw implementation must set the settings that were not correctly read to - * `RMW_QOS_POLICY_*_UNKNOWN`. * *
* Attribute | Adherence