Comments (44)
This would be a nice addition, probably as a new rmw_event_t
as @ivanpauno suggests. We could interpret it as having an event notifying of changes on get_subscription_count()
We could do the same for subscriptions, though we should probably have that as a separate issue.
from rmw.
In rmw_implementation
, there is no test related to event currently (Including existing events).
So I need to add events test file.
Besides, rmw_implementation test depend on rmw_xxxx (e.g. rmw_fastrtps).
So I will implement rmw_fastrtps, rmw_connextdds, rmw_cyclonedds at first and then add test to rmw_implementation
.
from rmw.
@Barry-Xu-2018 thanks for checking, i was thinking that there would be some related code or test cases in there, so just make sure that everything we may change on that table at 1st. if we do not need to update, that is also fine, i will remove rmw_implementaion
from the issue header.
from rmw.
@ivanpauno @wjwwood @asorbini @MiguelCompany @alsora @SteveMacenski @mikeferguson
CC: @ros2/middleware_working_group @Barry-Xu-2018
This is to open discussion, could you share your thoughts?
from rmw.
Adding this like a new rmw_event_t seems reasonable to me
from rmw.
I think this is super useful - at the moment, you can't easily build something like rgbd_launch in ROS2 (where all of the various pipeline elements are lazy publishers/subscribers) - I didn't even realize this wasn't already ticketed somewhere...
I had some notes about use cases (and my current lazy subscriber workaround with a timer that checks get_subscription_count once a second) here: https://www.robotandchisel.com/2020/06/16/ubr1-on-ros2/
EDIT: there was also additional information in my post on 5 things ROS2 needed in 2020: https://www.robotandchisel.com/2020/07/29/five-things-ros2/
from rmw.
I'm not familiar with the on_publication_matched
API.
Would it be equivalent to checking get_subscription_count()
on the publishers objects?
Obviously having a callback would be much better than continuously checking that API, but I just want to make sure that I understand how it would work.
In general this looks a great feature to add.
from rmw.
Would it be equivalent to checking get_subscription_count() on the publishers objects?
the main difference is, application can be notified with event on connect/disconnect.
from rmw.
We all agreed adding new event.
I submitted a PR to add connect/disconnect event and define rmw_matched_status_t
for publisher and subscription event callback.
Please review it.
from rmw.
We should remove rmw_implementation
in change list since the rmw interface isn't changed in #331
from rmw.
We should remove
rmw_implementation
in change list since the rmw interface isn't changed in #331
@Barry-Xu-2018 I don't think so, since that repository is there the tests for this feature should be added.
from rmw.
I don't think so, since that repository is there the tests for this feature should be added.
Thank you for your kind reminder.
Yes. I will check and add tests.
from rmw.
This issue has been mentioned on ROS Discourse. There might be relevant details there:
https://discourse.ros.org/t/ros-2-tsc-meeting-minutes-2023-01-19/29423/1
from rmw.
Related Issues (20)
- QoS duration APIs need INFINITE constant and an API contract to enforce proper usage by implementations HOT 14
- rmw_time_t is redundant with rcutils_duration_value_t and doesn't need to be a struct HOT 9
- Implement info structure with timestamps for services HOT 1
- Add support for `on sample lost` event HOT 8
- test_names_and_types failing on Linux HOT 4
- [Draft] ContentFilteredTopic Support HOT 4
- fastrtps communication over other network HOT 1
- Add ability to pass in allocator for some methods HOT 8
- Push notification on publisher/subscription match HOT 3
- Clarify the error codes in serialized_message.h
- Add ability to confirm reader receive all sent messages HOT 18
- Get most compatibility QoS policies given QoS for multiple endpoints HOT 4
- [feature request] Expose functionality to discover, read and send serialized services
- Change `rmw_take_response()` `request_header` param/variable name
- Inconsistent documentation with code HOT 5
- Add documentation on uniqueness of node, topic, and service names HOT 1
- Configure maximum DDS participants in a generic way HOT 3
- prolem: Is there performance test about zero copy between cyclonedds and fastdds? HOT 2
- Warning about history depth of 0 even while using system default QoS HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rmw.