The comment in the commit explains this clearly, but
on Windows ERROR is a macro. The reuse of it, even
as an enum, causes compilation errors on downstream
users. Push the macro and undefine it so downstream
consumers can freely include it.
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
* TypeDescriptions interface with readonly param configuration
* Add parameter descriptor, to make read only
* example of spinning in thread for get_type_description service
* Add a basic test for the new interface
* Fix tests with new parameter
* Add comments about builtin parameters
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
Signed-off-by: William Woodall <william@osrfoundation.org>
* protect state_machine_ with mutex lock.
protect state_handle_ with mutex lock.
reconsider mutex lock scope.
remove mutex lock from constructors.
lock just once during initialization of LifecycleNodeInterfaceImpl.
Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
* Move updating of current_state to right after initialization.
This is slightly more correct in the case that registering one
of the services fails.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
We should only need to update the current state when it changes,
so we do that in the change_state method (which is not const).
Then we can just return the current_state_ object in
get_current_state, and then mark it as const.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Split lifecycle_node_interface_impl into header and implementation.
There is no reason it should all be in the header file. No
functional change.
* Mark LifecycleNodeInterfaceImpl as final.
* Update documentation about return codes.
* Mark a bunch of LifecycleNodeInterfaceImpl methods as const.
* Make most of LifecycleNodeInterfaceImpl private.
* Mark some LifecycleNode methods as const.
* Disable copies on LifecycleNodeInterfaceImpl.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
That is, make sure they are all listed in package.xml, found
in the CMakeLists.txt, and properly included where they are
used.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Support add_pre_set_parameter and add_post_set_parameter callbacks in addition to add_on_set_parameter_callback in Node API
Signed-off-by: deepanshu <deepanshubansal01@gmail.com>
* Automatically transition LifecyclePublisher(s) between activated and inactive
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Fix: Add created publishers to the managed entities vector
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* enabled_ -> activated_
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Continue setting should_log_ as before
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Fix visibility attributes so it works on Windows
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Change log level for lifecycle_publisher
De-activating a lifecycle publisher while the function that was invoking `publish` is still running floods the log of useless warning messages.
This requires to add a boolean check around the publish call, thus making useless the choice of a lifecycle publisher
Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com>
* change lifecycle publisher to log warning only once per transition
Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com>
* rework lifecycle publisher log mechanism to use an helper function
Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com>
* change doxygen format to use implicit brief
Signed-off-by: Alberto Soragna <alberto.soragna@gmail.com>
Co-authored-by: Alberto Soragna <asoragna@irobot.com>
Callers should change to using for_each_callback_group(), or
store the callback groups they need internally.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
The main reason to add this method in is to make accesses to the
callback_groups_ vector thread-safe. By having a
callback_groups_for_each that accepts a std::function, we can
just have the callers give us the callback they are interested
in, and we can take care of the locking.
The rest of this fairly large PR is cleaning up all of the places
that use get_callback_groups() to instead use
callback_groups_for_each().
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* initial version of type_adaptor.hpp
Signed-off-by: William Woodall <william@osrfoundation.org>
* initial version of rclcpp::get_message_type_support_handle()
Signed-off-by: William Woodall <william@osrfoundation.org>
* initial version of rclcpp::is_ros_compatible_type check
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup include statement order in publisher.hpp
Signed-off-by: William Woodall <william@osrfoundation.org>
* use new rclcpp::get_message_type_support_handle() and check in Publisher
Signed-off-by: William Woodall <william@osrfoundation.org>
* update adaptor->adapter, update TypeAdapter to use two arguments, add implicit default
Signed-off-by: William Woodall <william@osrfoundation.org>
* move away from shared_ptr<allocator> to just allocator, like the STL
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixes to TypeAdapter and adding new publish function signatures
Signed-off-by: William Woodall <william@osrfoundation.org>
* bugfixes
Signed-off-by: William Woodall <william@osrfoundation.org>
* more bugfixes
Signed-off-by: William Woodall <william@osrfoundation.org>
* Add nullptr check
Signed-off-by: Audrow Nash <audrow@hey.com>
* Remove public from struct inheritance
Signed-off-by: Audrow Nash <audrow@hey.com>
* Add tests for publisher with type adapter
Signed-off-by: Audrow Nash <audrow@hey.com>
* Update packages to C++17
Signed-off-by: Audrow Nash <audrow@hey.com>
* Revert "Update packages to C++17"
This reverts commit 4585605223639bbd9d18053e5ef39725638512b4.
Signed-off-by: William Woodall <william@osrfoundation.org>
* Begin updating AnySubscriptionCallback to use the TypeAdapter
Signed-off-by: Audrow Nash <audrow@hey.com>
* Use type adapter's custom type
Signed-off-by: Audrow Nash <audrow@hey.com>
* Correct which AnySubscriptionCallbackHelper is selected
Signed-off-by: Audrow Nash <audrow@hey.com>
* Setup dispatch function to work with adapted types
Signed-off-by: Audrow Nash <audrow@hey.com>
* Improve template logic on dispatch methods
Signed-off-by: Audrow Nash <audrow@hey.com>
* implement TypeAdapter for Subscription
Signed-off-by: William Woodall <william@osrfoundation.org>
* Add intraprocess tests with all supported message types
Signed-off-by: Audrow Nash <audrow@hey.com>
* Add intra process tests
Signed-off-by: Audrow Nash <audrow@hey.com>
* Add tests for subscription with type adapter
Signed-off-by: Audrow Nash <audrow@hey.com>
* Fix null allocator test
Signed-off-by: Audrow Nash <audrow@hey.com>
* Handle serialized message correctly
Signed-off-by: Audrow Nash <audrow@hey.com>
* Fix generic subscription
Signed-off-by: Audrow Nash <audrow@hey.com>
* Fix trailing space
Signed-off-by: Audrow Nash <audrow@hey.com>
* fix some issues found while testing type_adapter in demos
Signed-off-by: William Woodall <william@osrfoundation.org>
* add more tests, WIP
Signed-off-by: William Woodall <william@osrfoundation.org>
* Improve pub/sub tests
Signed-off-by: Audrow Nash <audrow@hey.com>
* Apply uncrustify formatting
Signed-off-by: Audrow Nash <audrow@hey.com>
* finish new tests for any subscription callback with type adapter
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix adapt_type<...>::as<...> syntax
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix explicit template instantiation of create_subscription() in new test
Signed-off-by: William Woodall <william@osrfoundation.org>
* cpplint fix
Signed-off-by: William Woodall <william@osrfoundation.org>
* Fix bug by aligning allocator types on both sides of ipm
Signed-off-by: Audrow Nash <audrow@hey.com>
* Fix intra process manager tests
Signed-off-by: Audrow Nash <audrow@hey.com>
Co-authored-by: Audrow Nash <audrow@hey.com>
* Copying files from rosbag2
The generic_* files are from rosbag2_transport
typesupport_helpers incl. test is from rosbag2_cpp
memory_management.hpp is from rosbag2_test_common
test_pubsub.cpp was renamed from test_rosbag2_node.cpp from rosbag2_transport
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Rebrand into rclcpp_generic
Add package.xml, CMakeLists.txt, Doxyfile, README.md and CHANGELOG.rst
Rename namespaces
Make GenericPublisher and GenericSubscription self-contained by storing shared library
New create() methods that return shared pointers
Add docstrings
Include only what is needed
Make linters & tests pass
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Review feedback
* Delete CHANGELOG.rst
* Enable cppcheck
* Remove all references to rosbag2/ros2bag
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Move rclpp_generic into rclcpp
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Rename namespace rclcpp_generic to rclcpp::generic
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Free 'create' functions instead of static functions in class
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Remove 'generic' subdirectory and namespace hierarchy
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Order includes according to style guide
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Remove extra README.md
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Also add brief to class docs
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Make ament_index_cpp a build_depend
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Add to rclcpp.hpp
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Remove memory_management, use rclcpp::SerializedMessage in GenericPublisher::publish
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Clean up the typesupport_helpers
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Use make_shared, add UnimplementedError
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Add more comments, make member variable private, remove unnecessary include
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Apply suggestions from code review
Co-authored-by: William Woodall <william+github@osrfoundation.org>
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Rename test
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Update copyright and remove ament_target_dependencies for test
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Accept PublisherOptions and SubscriptionOptions
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Remove target_include_directories
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Add explanatory comment to SubscriptionBase
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Use kSolibPrefix and kSolibExtension from rcpputils
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Fix downstream build failure by making ament_index_cpp a build_export_depend
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Use path_for_library(), fix documentation nitpicks
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Improve error handling in get_typesupport_handle
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Accept SubscriptionOptions in GenericSubscription
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Make use of PublisherOptions in GenericPublisher
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Document typesupport_helpers
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Improve documentation
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Use std::function instead of function pointer
Co-authored-by: William Woodall <william+github@osrfoundation.org>
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Minimize vertical whitespace
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Add TODO for callback with message info
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Link issue in TODO
Signed-off-by: Nikolai Morin <nikolai.morin@apex.ai>
* Add missing include for functional
Signed-off-by: nnmm <nnmmgit@gmail.com>
* Fix compilation
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix lint
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Address review comments (#1)
* fix redefinition of default template arguments
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* address review comments
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* rename test executable
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* add functionality to lifecycle nodes
Signed-off-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* Refactor typesupport helpers
* Make extract_type_identifier function private
* Remove unused extract_type_and_package function
* Update unit tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Remove note about ament from classes
This comment only applies to the free functions.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix formatting
Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* Fix warning
Possible loss of data from double to rcutils_duration_value_t
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add missing visibility macros
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Co-authored-by: William Woodall <william+github@osrfoundation.org>
Co-authored-by: Jacob Perron <jacob@openrobotics.org>
Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
* add LifecycleNode::get_transition_graph along with service.
Signed-off-by: Tomoya.Fujita <Tomoya.Fujita@sony.com>
* add concrete test cases for get_available_transitions with each primary state.
Signed-off-by: Tomoya.Fujita <Tomoya.Fujita@sony.com>
* Catch potential exception in destructor and log
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Remove thrown error from reset and mark it no except
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Remove unused private function
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Remove group_in_node from rclcpp::Node
Signed-off-by: Stephen Brawner <brawner@gmail.com>
If the user doesn't retain a reference to the returned shared pointer there will be zero references and their callback will be unregistered.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add -Wnon-virtual-dtor -Woverloaded-virtual compiler options
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Add missing virtual dtors
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* please linter
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* basic ipc implementation from alsora/new_ipc_proposal
Signed-off-by: alberto <alberto.soragna@gmail.com>
better use of node_topic create subscription
Signed-off-by: alberto <alberto.soragna@gmail.com>
added intra process manager test
Signed-off-by: alberto <alberto.soragna@gmail.com>
fixed ring buffer and added test
Signed-off-by: alberto <alberto.soragna@gmail.com>
added intra process buffer test
Signed-off-by: alberto <alberto.soragna@gmail.com>
added intra process buffer test
Signed-off-by: alberto <alberto.soragna@gmail.com>
Signed-off-by: alberto <alberto.soragna@gmail.com>
removed intra-process methods from subscription base
Signed-off-by: alberto <alberto.soragna@gmail.com>
using lock_guard instead of unique_lock, renamed var without camel case
Signed-off-by: alberto <alberto.soragna@gmail.com>
using unordered set and references in intra process manager
Signed-off-by: alberto <alberto.soragna@gmail.com>
subscription intra-process does not depend anymore on subscription, but has a copy of the callback
Signed-off-by: alberto <alberto.soragna@gmail.com>
changed buffer API to use rvo
Signed-off-by: Alberto <alberto.soragna@gmail.com>
avoid copying shared_ptr
Signed-off-by: alberto <alberto.soragna@gmail.com>
revert not needed changes to create_subscription
Signed-off-by: alberto <alberto.soragna@gmail.com>
updated tests according to new buffer APIs
Signed-off-by: alberto <alberto.soragna@gmail.com>
updated types in ring buffer implementation avoid using uint32_t
Signed-off-by: alberto <alberto.soragna@gmail.com>
using unique ptr for buffers in subscription_intra_process
Signed-off-by: alberto <alberto.soragna@gmail.com>
added missing std::move in subscription_intra_process constructor
Signed-off-by: alberto <alberto.soragna@gmail.com>
use consisting names for ring_buffer_implementation members
Signed-off-by: alberto <alberto.soragna@gmail.com>
addressing typos, one-liners and similar from ivanpauno review
Signed-off-by: alberto <alberto.soragna@gmail.com>
moved subscription_intra_process_base to its own files and moved non templated method from derived class
Signed-off-by: alberto <alberto.soragna@gmail.com>
removed forward declarations, fixed include subscription_intra_process_base
Signed-off-by: alberto <alberto.soragna@gmail.com>
removed member variable from do_intra_process_publish signature
Signed-off-by: alberto <alberto.soragna@gmail.com>
declare public before private in intra_process_manager_impl
Signed-off-by: alberto <alberto.soragna@gmail.com>
made matches_any_intra_process_publishers const
Signed-off-by: alberto <alberto.soragna@gmail.com>
using const reference in get_all_matching_publishers
Signed-off-by: alberto <alberto.soragna@gmail.com>
added deleter and alloc templates in intra_process_buffer
Signed-off-by: alberto <alberto.soragna@gmail.com>
added RCLCPP_WARN to intra_process_manager_impl
Signed-off-by: alberto <alberto.soragna@gmail.com>
passing context from node to subscription_intra_process
Signed-off-by: alberto <alberto.soragna@gmail.com>
using allocators in intra_process_manager
Signed-off-by: alberto <alberto.soragna@gmail.com>
use size_t instead of int in ring buffer indices
Signed-off-by: alberto <alberto.soragna@gmail.com>
creating buffer inside subscription_intra_process constructor
Signed-off-by: alberto <alberto.soragna@gmail.com>
fix lint errors
Signed-off-by: alberto <alberto.soragna@gmail.com>
throw error if trying to dequeue when buffer empty; remove duplicated methods in intra_process_buffer
Signed-off-by: alberto <alberto.soragna@gmail.com>
added todo for creating an rmw function for checking qos compatibility
Signed-off-by: alberto <alberto.soragna@gmail.com>
test fixes
Signed-off-by: alberto <alberto.soragna@gmail.com>
refactored intra_process_manager, removed ipm impl
Signed-off-by: alberto <alberto.soragna@gmail.com>
added mutex in intra_process_manager add_* methods
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
added allocator to intra_process_buffer
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
added invalid intra_process qos test for subscription
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
throw error if history size is 0 with keep last and ipc
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
using allocator when creating unique_ptr from shared_ptr
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
adding deleter template argument to intra_process buffer
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
fix linter
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
throw error with callbackT different from messageT
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
updated deleter template argument in subscription factory
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
Fix typo in test fixture tear down method name (#787)
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Add free function for creating service clients (#788)
Equivalent to the free function for creating a service.
Resolves#768
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Cmake infrastructure for creating components (#784)
*cmake macro to create components for libraries with multiple nodes
Signed-off-by: Siddharth Kucheria <kucheria@usc.edu>
Allow registering multiple on_parameters_set_callback (#772)
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
fix for multiple nodes not being recognized (#790)
Signed-off-by: Siddharth Kucheria <kucheria@usc.edu>
Remove non-package from ament_target_dependencies() (#793)
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
fix linter issue (#795)
Signed-off-by: Siddharth Kucheria <kucheria@usc.edu>
Make TimeSource ignore use_sim_time events coming from other nodes. (#799)
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
passing deleter template parameter
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
small fixes for failing tests
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
fixed imports in test_intra_process_manager
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
using RCLCPP_SMART_PTR_ALIASES_ONLY and RCLCPP_PUBLIC macros
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
added RCLCPP_PUBLIC macros and virtual destructor to sub intra_process base
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
added unique_ptr alias to macros
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
updated test_intra_process_manager.cpp
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
remove mock msgs from rclcpp (#800)
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
Add line break after first open paren in multiline function call (#785)
* Add line break after first open paren in multiline function call
as per developer guide:
https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#open-versus-cuddled-braces
see https://github.com/ament/ament_lint/pull/148
Signed-off-by: Dan Rose <dan@digilabs.io>
Fix dedent when first function argument starts with a brace
Signed-off-by: Dan Rose <dan@digilabs.io>
Line break with multiline if condition
Remove line breaks where allowed.
Signed-off-by: Dan Rose <dan@digilabs.io>
Fixup after rebase
Signed-off-by: Dan Rose <dan@digilabs.io>
Fixup again after reverting indent_paren_open_brace
Signed-off-by: Dan Rose <dan@digilabs.io>
* Revert comment spacing change, condense some lines
Signed-off-by: Dan Rose <dan@digilabs.io>
Adapt to '--ros-args ... [--]'-based ROS args extraction (#816)
* Use --ros-args to deal with node arguments in rclcpp.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Document implicit --ros-args flag in NodeOptions::arguments().
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Add missing size_t to int cast.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Only add implicit --ros-args flag if not present already.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Add some rclcpp::NodeOptions test coverage.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Address peer review comments.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Please cpplint and uncrustify.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Guard against making multiple result requests for a goal handle (#808)
This fixes a runtime error caused by a race condition when making consecutive requests for the
result.
Specifically, this happens if the user provides a result callback when sending a goal and then
calls async_get_result shortly after.
Resolves#783
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Explain return value of spin_until_future_complete (#792)
Signed-off-by: Dan Rose <dan@digilabs.io>
Allow passing logger by const ref (#820)
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
Delete unnecessary call for get_node_by_group (#823)
Signed-off-by: Tomoya.Fujita <Tomoya.Fujita@sony.com>
Fix get_node_interfaces functions taking a pointer (#821)
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
add callback group as member variable and constructor arg (#811)
Signed-off-by: bpwilcox <bpwilcox@eng.ucsd.edu>
remove callback group as member variable
Wrap documentation examples in code blocks (#830)
This makes the code examples easier to read in the generated documentation.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Crash in callback group pointer vector iterator (#814)
Signed-off-by: Guillaume Autran <gautran@clearpath.ai>
add mutex in add/remove_node and wait_for_work to protect concurrent use/change of memory_strategy_ (#837)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
Fix hang with timers in MultiThreadedExecutor (#835) (#836)
Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
Use of -r/--remap flags where appropriate. (#834)
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Force explicit --ros-args in NodeOptions::arguments(). (#845)
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Fail on invalid and unknown ROS specific arguments (#842)
* Fail on invalid and unknown ROS specific arguments.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Revert changes to utilities.hpp in rclcpp
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Fully revert change to utilities.hpp
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Fix typo in deprecated warning. (#848)
"it's" instead of its
Signed-off-by: Luca Della Vedova <luca@openrobotics.org>
Add throwing parameter name if parameter is not set (#833)
* added throwing parameter name if parameter is not set
Signed-off-by: Alex <cvbn127@gmail.com>
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
check valid timer handler 1st to reduce the time window for scan. (#841)
Signed-off-by: Tomoya.Fujita <Tomoya.Fujita@sony.com>
remove features and related code which were deprecated in dashing (#852)
Signed-off-by: William Woodall <william@osrfoundation.org>
reset error message before setting a new one, embed the original one (#854)
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
restored virtual destructor in publisher_base
Signed-off-by: Soragna, Alberto <alberto.soragna@gmail.com>
* fixup a few things after rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* refactor some API's and get code compiling again
Signed-off-by: William Woodall <william@osrfoundation.org>
* docs and style changes (whitespace)
Signed-off-by: William Woodall <william@osrfoundation.org>
* move new intra process internals into experimental namespace
Signed-off-by: William Woodall <william@osrfoundation.org>
* uncrustify
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix issues with LoanedMessages after rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* more fixups
Signed-off-by: William Woodall <william@osrfoundation.org>
* readd logic for avoiding in compatible QoS
Signed-off-by: William Woodall <william@osrfoundation.org>
* avoid an error when intra process is disabled
Signed-off-by: William Woodall <william@osrfoundation.org>
* change intra process to preserve pointer in cyclic_pipeline
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix issue matching topics in intra process
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix some issues with the tests after latest behavior change
Signed-off-by: William Woodall <william@osrfoundation.org>
* address review feedback
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix the initialization order
Signed-off-by: William Woodall <william@osrfoundation.org>
* avoid possible loss of data warning
Signed-off-by: William Woodall <william@osrfoundation.org>
* more fixes related to initialization
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix use of custom allocators
Signed-off-by: William Woodall <william@osrfoundation.org>