Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merged master #20

Conversation

mauropasse
Copy link

No description provided.

clalancette and others added 8 commits January 25, 2021 14:33
Signed-off-by: Chris Lalancette <[email protected]>
In particular, "taken" is not a flag but a "count" of messages
returned.  Update the documentation to reflect that.

Signed-off-by: Chris Lalancette <[email protected]>
The line length enforcement in ament_lint_cmake has been broken for some
time, but will be fixed by ament/ament_lint#236. This change brings this
package into compliance with a 120 column limit.

Signed-off-by: Scott K Logan <[email protected]>
…#299)

* Add declaration for function to check QoS profile compatibility

Currently, users who are creating a publisher or subscription can receive 'QoS incompatibility'
events from the RMW if an incompatible endpoint is discovered. While this is useful, we
currently don't have a nice way for application to generally check if two QoS profiles are
compatible. For example, it would be nice if tooling could query the communication graph and
report any detected QoS incompatibilities.

In order to reduce code duplication, I think an API for checking QoS compatibilty should live
in a common place. I've opted for `rmw` (over a place like `rcl`) since it's possible QoS
compatiblity rules may vary per RMW vendor. Since rules for all DDS implementations should be
the same, we could put that common logic in `rmw_dds_common`.

Signed-off-by: Jacob Perron <[email protected]>

* Refactor API

Use enum for output; if one or more policies is set to 'system default', then it's better to warn the caller that we aren't sure if QoS profiles are compatible.

Add optional 'reason', and 'reason_size', parameters for outputing a description of what is (or might be) the incompatiblity.

Update API docs.

Signed-off-by: Jacob Perron <[email protected]>

* Do not set output parameters if there is an error

This behaves more like other RMW functions.

Signed-off-by: Jacob Perron <[email protected]>

* Account for possible RMW_RET_ERROR return value

Signed-off-by: Jacob Perron <[email protected]>

* Warn on 'unknown' value

Since it's possible for rmw's to return an unknown value if the policy is set to an unsupported value by ROS 2.

Signed-off-by: Jacob Perron <[email protected]>
@mauropasse
Copy link
Author

Besides merging master, this commit 34acd17 applies some new changes from this comment ros2#286 (comment)

@mauropasse mauropasse closed this Mar 11, 2021
@mauropasse mauropasse deleted the mauro/merge-master branch March 11, 2021 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants