Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

rmw opensplice implementation does not use asynchronous publishing #301

Closed
wjwwood opened this issue Jan 21, 2020 · 2 comments
Closed

rmw opensplice implementation does not use asynchronous publishing #301

wjwwood opened this issue Jan 21, 2020 · 2 comments

Comments

@wjwwood
Copy link
Member

wjwwood commented Jan 21, 2020

See ros2/rmw_cyclonedds#89 for most of the details, but the basics are:

As discussed elsewhere (ros2/rmw_fastrtps#343 (review)), the current best practice is to use the closest equivalent to the asynchronous publishing mode that some DDS implementations have for implementing rmw_publish(). Right now, this repository does not change the QoS for this when creating a publisher and therefore I assume it uses something like the synchronous publishing mode.

So a few questions:

  • does OpenSplice have an "asynchronous publishing mode"-like setting?
  • if not, what is the blocking behavior of publishing in OpenSplice, or more generally what happens when you call publish?

If there is an equivalent mode then it would be best to switch to it by default, even if it has a negative performance impact for some cases.

We can/should separately decide if the best practice should be adjusted, but until that time we should try to keep our rmw implementations as consistent as possible.

We can also chose to not do anything about this, given that we're doing away with OpenSplice support in ROS.

@eboasson
Copy link

OpenSplice only ever does "asynchronous" publishing.

@wjwwood
Copy link
Member Author

wjwwood commented Jan 23, 2020

Thanks I see, so nothing needs to be done here. Thanks @eboasson, I'll close this.

If you have a pointer to OpenSplice docs about this, I'm sure someone (maybe future us) will appreciate it, but it's not required.

@wjwwood wjwwood closed this as completed Jan 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants