-
Notifications
You must be signed in to change notification settings - Fork 42
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
Support basic QoS settings #91
Conversation
c528258
to
df8517a
Compare
5c6f26b
to
26fca70
Compare
c2b749b
to
4fe16af
Compare
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
4fe16af
to
b7a27be
Compare
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
With the qos methods implemented, # terminal 1
ros2 run action_tutorials_cpp fibonacci_action_server # terminal 2
ros2 run action_tutorials_cpp fibonacci_action_client
[INFO] [1705560511.794785988] [fibonacci_action_client]: Sending goal
[INFO] [1705560511.794917049] [rmw_zenoh_cpp]: [rmw_send_request]
[INFO] [1705560511.796353630] [rmw_zenoh_cpp]: [rmw_take_response]
[INFO] [1705560511.796443000] [fibonacci_action_client]: Goal accepted by server, waiting for result
[INFO] [1705560511.796472320] [rmw_zenoh_cpp]: [rmw_send_request]
[INFO] [1705560511.796863030] [fibonacci_action_client]: Next number in sequence received: 0 1 1
[INFO] [1705560512.797255312] [fibonacci_action_client]: Next number in sequence received: 0 1 1 2
[INFO] [1705560513.797292703] [fibonacci_action_client]: Next number in sequence received: 0 1 1 2 3
[INFO] [1705560514.797283484] [fibonacci_action_client]: Next number in sequence received: 0 1 1 2 3 5
[INFO] [1705560515.797236973] [fibonacci_action_client]: Next number in sequence received: 0 1 1 2 3 5 8
^C[INFO] [1705560516.232405866] [rclcpp]: signal_handler(signum=2)
** Killing the client process does not cancel the goal and the server will continue to publish feedback messages. This should be resolved with @clalancette's fixes to service/clients. |
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
b265745
to
762668b
Compare
44d7627
to
52d16cb
Compare
After some digging, with |
09b301d
to
6075f4d
Compare
Signed-off-by: Yadunund <[email protected]>
6075f4d
to
a664ac2
Compare
Went back and forth on whether to rely on a blocking vs non-blocking channel for making the liveliness query at startup.
After clarification from zettascale, we should stick to a |
3234b66
to
4475bec
Compare
Signed-off-by: Yadunund <[email protected]>
4475bec
to
2ad493d
Compare
Signed-off-by: Yadunund <[email protected]>
ccdcdfb
to
1298abd
Compare
I've set the The default depth is 1 in rmw_cyclonedds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did another review pass. This is looking pretty good in general, just a few things to cleanup and followup on.
Co-authored-by: Chris Lalancette <[email protected]> Signed-off-by: Yadu <[email protected]>
Co-authored-by: Chris Lalancette <[email protected]> Signed-off-by: Yadu <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
Signed-off-by: Yadunund <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left one more relatively minor change. Once that is done, I think this is good to go in.
Co-authored-by: Chris Lalancette <[email protected]> Signed-off-by: Yadu <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just pushed some minor cpplint fixes. With that, I'm happy with this, so once CI comes back green I'm going to go ahead and merge this.
# TODO- [ ] Call ze_querying_subscriber_get() when a TRANSIENT_LOCAL publisher is discovered with matching endpoints.This PR provides support for the following QoS settings:
KEEP_ALL
andKEEP_LAST
)VOLATILE
andTRANSIENT_LOCAL
)RELIABLE
andBEST_EFFORT
)It also updates the liveliness tokens to forward serialized qos information. Graph introspection methods are also updated.
Before testing, remember to restart any running zenoh routers and kill existing ros2 daemons.
Test below where publisher has durability
VOLATILE
buyt subsciption has durabilityTRANSIENT_LOCAL
. The QoS properties including History, Durability, and Reliability should be correctly populated whenNote: The
--no-lost-messages
flag is needed or elseros2topic
strategy will try to create a subscription with event callback which will fail as the methods are not implemented. Thecatch
block will create another subscription without the event but the message is not received in this case.