Skip to content

Default subscriber QOS to BestEffort, account for TRANSIENT_LOCAL#991

Merged
bjsowa merged 3 commits into
RobotWebTools:ros2from
ewak:best_effort_sub
Feb 26, 2025
Merged

Default subscriber QOS to BestEffort, account for TRANSIENT_LOCAL#991
bjsowa merged 3 commits into
RobotWebTools:ros2from
ewak:best_effort_sub

Conversation

@ewak
Copy link
Copy Markdown
Contributor

@ewak ewak commented Jan 9, 2025

Public API Changes
Change default subscriber QosProfile from reliability=ReliabilityPolicy.RELIABLE to reliability=ReliabilityPolicy.BEST_EFFORT.

BUT if a publisher is found to have durability = DurabilityPolicy.TRANSIENT_LOCAL, then use reliability=ReliabilityPolicy.RELIABLE

Description
IMO the current "sane" defaults for a subscriber are not great for unreliable links and/or large messages and are not compatible with publisher policy is not yet known.

Relates to #769

Copy link
Copy Markdown
Member

@bjsowa bjsowa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems reasonable. Could you please add a parameter for the default subscription reliability policy? That way, it will be easier for me to backport it to Humble.

@bjsowa bjsowa enabled auto-merge (squash) February 26, 2025 19:27
@bjsowa bjsowa merged commit ceb3f7d into RobotWebTools:ros2 Feb 26, 2025
bjsowa pushed a commit that referenced this pull request May 18, 2025
* use permissive QoS to ensure compatibilty with publishers

* use RELIABLE qos if publisher found to be TRANSIENT_LOCAL

---------

Co-authored-by: William Wedler <wwedler@riseup.net>
Co-authored-by: Mike Wake <michael.wake@aosgrp.com.au>
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