-
Notifications
You must be signed in to change notification settings - Fork 34
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
Add rmw listener apis #44
Conversation
Signed-off-by: Mauro Passerino <mpasserino@irobot.com>
Add stubs for setting listener callbacks
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.
Hi @irobot-ros, thank you for this contribution!
The code looks good functionally, but I'd like to request some minor refactoring to make it more consistent in style with the rest of the implementation:
- Use
UNUSED_ARG(var);
instead of(void)var;
- Use
RMW_CONNEXT_LOG_ERROR_SET("...")
(no semicolon) instead ofRMW_SET_ERROR_MSG("...");
- Introduce a new source file in
rmw_connextdds_common/src/common
, e.g.rmw_listener.cpp
, with a common implementation of all new API functions:rmw_api_connextdds_event_set_callback()
rmw_api_connextdds_service_set_on_new_request_callback()
rmw_api_connextdds_client_set_on_new_response_callback()
rmw_api_connextdds_subscription_set_on_new_message_callback()
- Refactor functions in
rmw_api_impl_ndds.cpp
andrmw_api_impl_rtime.cpp
to delegate to the common functions, similarly to other functions in those files.
Signed-off-by: Mauro Passerino <mpasserino@irobot.com>
Address PR suggestions
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.
@mauropasse thank you for addressing the comments, and apologies for forgetting about this PR.
As is, it looks ready to merge as soon as ros2/rmw#286 goes in.
Signed-off-by: Mauro Passerino <mpasserino@irobot.com>
Fix linter issues
* Add stubs for setting listener callbacks Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Address PR suggestions Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Fix linter issues Signed-off-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com>
* Add support for user-specified content filters. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Resolve memory leak of custom content-filter resources - Add missing package dependencies for rti_connext_dds_custom_sql_filter - Clean up all participants upon factory finalization - Reset context state upon finalization (rmw_connextddsmicro) Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Assume non-null options argument Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Return error when retrieving content-filter from a subscription that doesn't have one. - Rename internal functions related to content-filters Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Fix compilation error, oops. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Define RMW_CONNEXT_DEBUG when building Debug libraries. - Make sure participant is enabled before deleting contained entities when using Connext debug libraries. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Resolve memory leak for finalization on error. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Rename content filter public API. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Add client/service QoS getters (#67) Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Changelogs Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * 0.8.1 * Fix cpplint errors (#69) * Use static_cast instead of C-style cast Fixes cpplint error. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update NOLINT category Relates to ament/ament_lint#324 Signed-off-by: Jacob Perron <jacob@openrobotics.org> * 0.8.2 Signed-off-by: Audrow Nash <audrow@hey.com> * Update rti-connext-dds dependency to 6.0.1. (#71) Now that this package is available in the ROS bootstrap repository for Ubuntu Focal and Jammy we can bump the expected dependency version. * 0.8.3 * Add rmw listener apis (#44) * Add stubs for setting listener callbacks Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Address PR suggestions Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Fix linter issues Signed-off-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> * Changelog. (#73) Signed-off-by: Chris Lalancette <clalancette@openrobotics.org> * 0.9.0 * add stub for content filtered topic Signed-off-by: Chen Lihui <lihui.chen@sony.com> * * Rebased branch asorbini/cft on top of 0.9.0. * Resolved CFT finalization issues on error. * Verified and cleaned up build for rmw_connextddsmicro. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Move custom SQL filter to rmw_connextdds_common Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Try to resolve linking error on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Optionally disable writer-side CFT optimizations to support Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * No need to declare private CFT function on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * remove stub implementation for ContentFilteredTopic. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * address cpplint error. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * Avoid conversion warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Use strtol instead of sscanf to avoid warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Avoid finalizing participants if factory is not available. Signed-off-by: Andrea Sorbini <asorbini@rti.com> Co-authored-by: mauropasse <mauropasse@hotmail.com> Co-authored-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Audrow Nash <audrow@hey.com> Co-authored-by: Steven! Ragnarök <nuclearsandwich@users.noreply.github.com> Co-authored-by: Steven! Ragnarök <steven@nuclearsandwich.com> Co-authored-by: iRobot ROS <49500531+irobot-ros@users.noreply.github.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Co-authored-by: Chen Lihui <lihui.chen@sony.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
* Add support for user-specified content filters. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Resolve memory leak of custom content-filter resources - Add missing package dependencies for rti_connext_dds_custom_sql_filter - Clean up all participants upon factory finalization - Reset context state upon finalization (rmw_connextddsmicro) Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Assume non-null options argument Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Return error when retrieving content-filter from a subscription that doesn't have one. - Rename internal functions related to content-filters Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Fix compilation error, oops. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Define RMW_CONNEXT_DEBUG when building Debug libraries. - Make sure participant is enabled before deleting contained entities when using Connext debug libraries. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Resolve memory leak for finalization on error. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Rename content filter public API. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Add client/service QoS getters (ros2#67) Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Changelogs Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * 0.8.1 * Fix cpplint errors (ros2#69) * Use static_cast instead of C-style cast Fixes cpplint error. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update NOLINT category Relates to ament/ament_lint#324 Signed-off-by: Jacob Perron <jacob@openrobotics.org> * 0.8.2 Signed-off-by: Audrow Nash <audrow@hey.com> * Update rti-connext-dds dependency to 6.0.1. (ros2#71) Now that this package is available in the ROS bootstrap repository for Ubuntu Focal and Jammy we can bump the expected dependency version. * 0.8.3 * Add rmw listener apis (ros2#44) * Add stubs for setting listener callbacks Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Address PR suggestions Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Fix linter issues Signed-off-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> * Changelog. (ros2#73) Signed-off-by: Chris Lalancette <clalancette@openrobotics.org> * 0.9.0 * add stub for content filtered topic Signed-off-by: Chen Lihui <lihui.chen@sony.com> * * Rebased branch asorbini/cft on top of 0.9.0. * Resolved CFT finalization issues on error. * Verified and cleaned up build for rmw_connextddsmicro. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Move custom SQL filter to rmw_connextdds_common Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Try to resolve linking error on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Optionally disable writer-side CFT optimizations to support Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * No need to declare private CFT function on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * remove stub implementation for ContentFilteredTopic. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * address cpplint error. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * Avoid conversion warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Use strtol instead of sscanf to avoid warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Avoid finalizing participants if factory is not available. Signed-off-by: Andrea Sorbini <asorbini@rti.com> Co-authored-by: mauropasse <mauropasse@hotmail.com> Co-authored-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Audrow Nash <audrow@hey.com> Co-authored-by: Steven! Ragnarök <nuclearsandwich@users.noreply.github.com> Co-authored-by: Steven! Ragnarök <steven@nuclearsandwich.com> Co-authored-by: iRobot ROS <49500531+irobot-ros@users.noreply.github.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Co-authored-by: Chen Lihui <lihui.chen@sony.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
* Add sequence numbers to message info structure (#74) * Fill reception_sequence_number/publication_sequence_number in all rmw_take_*_with_info() functions Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * Add rmw_feature_supported() Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * add stub for content filtered topic (#77) * add stub for content filtered topic Signed-off-by: Chen Lihui <lihui.chen@sony.com> * Add support for user-specified content filters (#68) * Add support for user-specified content filters. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Resolve memory leak of custom content-filter resources - Add missing package dependencies for rti_connext_dds_custom_sql_filter - Clean up all participants upon factory finalization - Reset context state upon finalization (rmw_connextddsmicro) Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Assume non-null options argument Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Return error when retrieving content-filter from a subscription that doesn't have one. - Rename internal functions related to content-filters Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Fix compilation error, oops. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * - Define RMW_CONNEXT_DEBUG when building Debug libraries. - Make sure participant is enabled before deleting contained entities when using Connext debug libraries. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Resolve memory leak for finalization on error. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Rename content filter public API. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Add client/service QoS getters (#67) Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Changelogs Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * 0.8.1 * Fix cpplint errors (#69) * Use static_cast instead of C-style cast Fixes cpplint error. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update NOLINT category Relates to ament/ament_lint#324 Signed-off-by: Jacob Perron <jacob@openrobotics.org> * 0.8.2 Signed-off-by: Audrow Nash <audrow@hey.com> * Update rti-connext-dds dependency to 6.0.1. (#71) Now that this package is available in the ROS bootstrap repository for Ubuntu Focal and Jammy we can bump the expected dependency version. * 0.8.3 * Add rmw listener apis (#44) * Add stubs for setting listener callbacks Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Address PR suggestions Signed-off-by: Mauro Passerino <mpasserino@irobot.com> * Fix linter issues Signed-off-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> * Changelog. (#73) Signed-off-by: Chris Lalancette <clalancette@openrobotics.org> * 0.9.0 * add stub for content filtered topic Signed-off-by: Chen Lihui <lihui.chen@sony.com> * * Rebased branch asorbini/cft on top of 0.9.0. * Resolved CFT finalization issues on error. * Verified and cleaned up build for rmw_connextddsmicro. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Move custom SQL filter to rmw_connextdds_common Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Try to resolve linking error on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Optionally disable writer-side CFT optimizations to support Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * No need to declare private CFT function on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * remove stub implementation for ContentFilteredTopic. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * address cpplint error. Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * Avoid conversion warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Use strtol instead of sscanf to avoid warnings on Windows. Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Avoid finalizing participants if factory is not available. Signed-off-by: Andrea Sorbini <asorbini@rti.com> Co-authored-by: mauropasse <mauropasse@hotmail.com> Co-authored-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Audrow Nash <audrow@hey.com> Co-authored-by: Steven! Ragnarök <nuclearsandwich@users.noreply.github.com> Co-authored-by: Steven! Ragnarök <steven@nuclearsandwich.com> Co-authored-by: iRobot ROS <49500531+irobot-ros@users.noreply.github.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Co-authored-by: Chen Lihui <lihui.chen@sony.com> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com> * 0.10.0 Signed-off-by: Audrow Nash <audrow@hey.com> * Update launch_testing_ros output filter prefixes for Connext6 (#80) Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> * Properly initialize CDR stream before using it for filtering (#81) Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Exclude missing sample info fields when building rmw_connextddsmicro (#79) * Exclude missing sample info fields when building micro. * Report features individually for each RMW implementation. * Return special value for unsupported sequence numbers. Signed-off-by: Andrea Sorbini <asorbini@rti.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> * 0.11.0 Signed-off-by: Audrow Nash <audrow@hey.com> * Resolve build error with RTI Connext DDS 5.3.1 (#82) Signed-off-by: Andrea Sorbini <asorbini@rti.com> * Changelog. Signed-off-by: Chris Lalancette <clalancette@openrobotics.org> * 0.11.1 * Use destinct callbacks for each event type --------- Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> Signed-off-by: Chen Lihui <lihui.chen@sony.com> Signed-off-by: Audrow Nash <audrow@hey.com> Signed-off-by: Andrea Sorbini <asorbini@rti.com> Signed-off-by: Chris Lalancette <clalancette@openrobotics.org> Co-authored-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com> Co-authored-by: Chen Lihui <lihui.chen@sony.com> Co-authored-by: Andrea Sorbini <asorbini@rti.com> Co-authored-by: mauropasse <mauropasse@hotmail.com> Co-authored-by: Jacob Perron <jacob@openrobotics.org> Co-authored-by: Audrow Nash <audrow@hey.com> Co-authored-by: Steven! Ragnarök <nuclearsandwich@users.noreply.github.com> Co-authored-by: Steven! Ragnarök <steven@nuclearsandwich.com> Co-authored-by: iRobot ROS <49500531+irobot-ros@users.noreply.github.com> Co-authored-by: Mauro Passerino <mpasserino@irobot.com> Co-authored-by: Alberto Soragna <alberto.soragna@gmail.com> Co-authored-by: Chris Lalancette <clalancette@openrobotics.org> Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
This PR adds stub implementations for the RMW listener APIs.
See design and Discourse post.
FYI @wjwwood
This PR connects to