Skip to content
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

Missing a method for creating a service client from interfaces. #768

Closed
orduno opened this issue Jun 21, 2019 · 0 comments · Fixed by #788
Closed

Missing a method for creating a service client from interfaces. #768

orduno opened this issue Jun 21, 2019 · 0 comments · Fixed by #788
Labels
enhancement New feature or request

Comments

@orduno
Copy link

orduno commented Jun 21, 2019

Feature request

Feature description

Rclcpp has free functions to create services, publishers and subscribers from node interfaces. However, it seems there's missing one for creating service clients.

@jacobperron jacobperron added the enhancement New feature or request label Jun 26, 2019
jacobperron added a commit that referenced this issue Jul 18, 2019
Equlivalent to the free function for creating a service.
Resolves #768

Signed-off-by: Jacob Perron <[email protected]>
jacobperron added a commit that referenced this issue Jul 18, 2019
Equivalent to the free function for creating a service.
Resolves #768

Signed-off-by: Jacob Perron <[email protected]>
jacobperron added a commit that referenced this issue Jul 22, 2019
Equivalent to the free function for creating a service.
Resolves #768

Signed-off-by: Jacob Perron <[email protected]>
DensoADAS pushed a commit to DensoADAS/rclcpp that referenced this issue Aug 7, 2019
Equivalent to the free function for creating a service.
Resolves ros2#768

Signed-off-by: Jacob Perron <[email protected]>
wjwwood pushed a commit that referenced this issue Oct 14, 2019
Signed-off-by: alberto <[email protected]>

better use of node_topic create subscription

Signed-off-by: alberto <[email protected]>

added intra process manager test

Signed-off-by: alberto <[email protected]>

fixed ring buffer and added test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

Signed-off-by: alberto <[email protected]>

removed intra-process methods from subscription base

Signed-off-by: alberto <[email protected]>

using lock_guard instead of unique_lock, renamed var without camel case

Signed-off-by: alberto <[email protected]>

using unordered set and references in intra process manager

Signed-off-by: alberto <[email protected]>

subscription intra-process does not depend anymore on subscription, but has a copy of the callback

Signed-off-by: alberto <[email protected]>

changed buffer API to use rvo

Signed-off-by: Alberto <[email protected]>

avoid copying shared_ptr

Signed-off-by: alberto <[email protected]>

revert not needed changes to create_subscription

Signed-off-by: alberto <[email protected]>

updated tests according to new buffer APIs

Signed-off-by: alberto <[email protected]>

updated types in ring buffer implementation avoid using uint32_t

Signed-off-by: alberto <[email protected]>

using unique ptr for buffers in subscription_intra_process

Signed-off-by: alberto <[email protected]>

added missing std::move in subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

use consisting names for ring_buffer_implementation members

Signed-off-by: alberto <[email protected]>

addressing typos, one-liners and similar from ivanpauno review

Signed-off-by: alberto <[email protected]>

moved subscription_intra_process_base to its own files and moved non templated method from derived class

Signed-off-by: alberto <[email protected]>

removed forward declarations, fixed include subscription_intra_process_base

Signed-off-by: alberto <[email protected]>

removed member variable from do_intra_process_publish signature

Signed-off-by: alberto <[email protected]>

declare public before private in intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

made matches_any_intra_process_publishers const

Signed-off-by: alberto <[email protected]>

using const reference in get_all_matching_publishers

Signed-off-by: alberto <[email protected]>

added deleter and alloc templates in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added RCLCPP_WARN to intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

passing context from node to subscription_intra_process

Signed-off-by: alberto <[email protected]>

using allocators in intra_process_manager

Signed-off-by: alberto <[email protected]>

use size_t instead of int in ring buffer indices

Signed-off-by: alberto <[email protected]>

creating buffer inside subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

fix lint errors

Signed-off-by: alberto <[email protected]>

throw error if trying to dequeue when buffer empty; remove duplicated methods in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added todo for creating an rmw function for checking qos compatibility

Signed-off-by: alberto <[email protected]>

test fixes

Signed-off-by: alberto <[email protected]>

refactored intra_process_manager, removed ipm impl

Signed-off-by: alberto <[email protected]>

added mutex in intra_process_manager add_* methods

Signed-off-by: Soragna, Alberto <[email protected]>

added allocator to intra_process_buffer

Signed-off-by: Soragna, Alberto <[email protected]>

added invalid intra_process qos test for subscription

Signed-off-by: Soragna, Alberto <[email protected]>

throw error if history size is 0 with keep last and ipc

Signed-off-by: Soragna, Alberto <[email protected]>

using allocator when creating unique_ptr from shared_ptr

Signed-off-by: Soragna, Alberto <[email protected]>

adding deleter template argument to intra_process buffer

Signed-off-by: Soragna, Alberto <[email protected]>

fix linter

Signed-off-by: Soragna, Alberto <[email protected]>

throw error with callbackT different from messageT

Signed-off-by: Soragna, Alberto <[email protected]>

updated deleter template argument in subscription factory

Signed-off-by: Soragna, Alberto <[email protected]>

Fix typo in test fixture tear down method name (#787)

Signed-off-by: Jacob Perron <[email protected]>

Add free function for creating service clients (#788)

Equivalent to the free function for creating a service.
Resolves #768

Signed-off-by: Jacob Perron <[email protected]>

Cmake infrastructure for creating components (#784)

*cmake macro to create components for libraries with multiple nodes

Signed-off-by: Siddharth Kucheria <[email protected]>

Allow registering multiple on_parameters_set_callback (#772)

Signed-off-by: ivanpauno <[email protected]>

fix for multiple nodes not being recognized (#790)

Signed-off-by: Siddharth Kucheria <[email protected]>

Remove non-package from ament_target_dependencies() (#793)

Signed-off-by: Shane Loretz <[email protected]>

fix linter issue (#795)

Signed-off-by: Siddharth Kucheria <[email protected]>

Make TimeSource ignore use_sim_time events coming from other nodes. (#799)

Signed-off-by: Michel Hidalgo <[email protected]>

passing deleter template parameter

Signed-off-by: Soragna, Alberto <[email protected]>

small fixes for failing tests

Signed-off-by: Soragna, Alberto <[email protected]>

fixed imports in test_intra_process_manager

Signed-off-by: Soragna, Alberto <[email protected]>

using RCLCPP_SMART_PTR_ALIASES_ONLY and RCLCPP_PUBLIC macros

Signed-off-by: Soragna, Alberto <[email protected]>

added RCLCPP_PUBLIC macros and virtual destructor to sub intra_process base

Signed-off-by: Soragna, Alberto <[email protected]>

added unique_ptr alias to macros

Signed-off-by: Soragna, Alberto <[email protected]>

updated test_intra_process_manager.cpp

Signed-off-by: Soragna, Alberto <[email protected]>

remove mock msgs from rclcpp (#800)

Signed-off-by: Karsten Knese <[email protected]>

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 ament/ament_lint#148

Signed-off-by: Dan Rose <[email protected]>

Fix dedent when first function argument starts with a brace

Signed-off-by: Dan Rose <[email protected]>

Line break with multiline if condition
Remove line breaks where allowed.

Signed-off-by: Dan Rose <[email protected]>

Fixup after rebase

Signed-off-by: Dan Rose <[email protected]>

Fixup again after reverting indent_paren_open_brace

Signed-off-by: Dan Rose <[email protected]>

* Revert comment spacing change, condense some lines

Signed-off-by: Dan Rose <[email protected]>

Adapt to '--ros-args ... [--]'-based ROS args extraction (#816)

* Use --ros-args to deal with node arguments in rclcpp.

Signed-off-by: Michel Hidalgo <[email protected]>

* Document implicit --ros-args flag in NodeOptions::arguments().

Signed-off-by: Michel Hidalgo <[email protected]>

* Add missing size_t to int cast.

Signed-off-by: Michel Hidalgo <[email protected]>

* Only add implicit --ros-args flag if not present already.

Signed-off-by: Michel Hidalgo <[email protected]>

* Add some rclcpp::NodeOptions test coverage.

Signed-off-by: Michel Hidalgo <[email protected]>

* Address peer review comments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Please cpplint and uncrustify.

Signed-off-by: Michel Hidalgo <[email protected]>

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 <[email protected]>

Explain return value of spin_until_future_complete (#792)

Signed-off-by: Dan Rose <[email protected]>

Allow passing logger by const ref (#820)

Signed-off-by: Karsten Knese <[email protected]>

Delete unnecessary call for get_node_by_group (#823)

Signed-off-by: Tomoya.Fujita <[email protected]>

Fix get_node_interfaces functions taking a pointer (#821)

Signed-off-by: ivanpauno <[email protected]>

add callback group as member variable and constructor arg (#811)

Signed-off-by: bpwilcox <[email protected]>

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 <[email protected]>

Crash in callback group pointer vector iterator (#814)

Signed-off-by: Guillaume Autran <[email protected]>

add mutex in add/remove_node and wait_for_work to protect concurrent use/change of memory_strategy_ (#837)

Signed-off-by: Dirk Thomas <[email protected]>

Fix hang with timers in MultiThreadedExecutor (#835) (#836)

Signed-off-by: Todd Malsbary <[email protected]>

Use of -r/--remap flags where appropriate. (#834)

Signed-off-by: Michel Hidalgo <[email protected]>

Force explicit --ros-args in NodeOptions::arguments(). (#845)

Signed-off-by: Michel Hidalgo <[email protected]>

Fail on invalid and unknown ROS specific arguments (#842)

* Fail on invalid and unknown ROS specific arguments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Revert changes to utilities.hpp in rclcpp

Signed-off-by: Michel Hidalgo <[email protected]>

* Fully revert change to utilities.hpp

Signed-off-by: Michel Hidalgo <[email protected]>

Fix typo in deprecated warning. (#848)

"it's" instead of its

Signed-off-by: Luca Della Vedova <[email protected]>

Add throwing parameter name if parameter is not set (#833)

* added throwing parameter name if parameter is not set

Signed-off-by: Alex <[email protected]>
Signed-off-by: ivanpauno <[email protected]>

check valid timer handler 1st to reduce the time window for scan. (#841)

Signed-off-by: Tomoya.Fujita <[email protected]>

remove features and related code which were deprecated in dashing (#852)

Signed-off-by: William Woodall <[email protected]>

reset error message before setting a new one, embed the original one (#854)

Signed-off-by: Dirk Thomas <[email protected]>

restored virtual destructor in publisher_base

Signed-off-by: Soragna, Alberto <[email protected]>
wjwwood pushed a commit to alsora/rclcpp that referenced this issue Oct 19, 2019
Signed-off-by: alberto <[email protected]>

better use of node_topic create subscription

Signed-off-by: alberto <[email protected]>

added intra process manager test

Signed-off-by: alberto <[email protected]>

fixed ring buffer and added test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

Signed-off-by: alberto <[email protected]>

removed intra-process methods from subscription base

Signed-off-by: alberto <[email protected]>

using lock_guard instead of unique_lock, renamed var without camel case

Signed-off-by: alberto <[email protected]>

using unordered set and references in intra process manager

Signed-off-by: alberto <[email protected]>

subscription intra-process does not depend anymore on subscription, but has a copy of the callback

Signed-off-by: alberto <[email protected]>

changed buffer API to use rvo

Signed-off-by: Alberto <[email protected]>

avoid copying shared_ptr

Signed-off-by: alberto <[email protected]>

revert not needed changes to create_subscription

Signed-off-by: alberto <[email protected]>

updated tests according to new buffer APIs

Signed-off-by: alberto <[email protected]>

updated types in ring buffer implementation avoid using uint32_t

Signed-off-by: alberto <[email protected]>

using unique ptr for buffers in subscription_intra_process

Signed-off-by: alberto <[email protected]>

added missing std::move in subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

use consisting names for ring_buffer_implementation members

Signed-off-by: alberto <[email protected]>

addressing typos, one-liners and similar from ivanpauno review

Signed-off-by: alberto <[email protected]>

moved subscription_intra_process_base to its own files and moved non templated method from derived class

Signed-off-by: alberto <[email protected]>

removed forward declarations, fixed include subscription_intra_process_base

Signed-off-by: alberto <[email protected]>

removed member variable from do_intra_process_publish signature

Signed-off-by: alberto <[email protected]>

declare public before private in intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

made matches_any_intra_process_publishers const

Signed-off-by: alberto <[email protected]>

using const reference in get_all_matching_publishers

Signed-off-by: alberto <[email protected]>

added deleter and alloc templates in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added RCLCPP_WARN to intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

passing context from node to subscription_intra_process

Signed-off-by: alberto <[email protected]>

using allocators in intra_process_manager

Signed-off-by: alberto <[email protected]>

use size_t instead of int in ring buffer indices

Signed-off-by: alberto <[email protected]>

creating buffer inside subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

fix lint errors

Signed-off-by: alberto <[email protected]>

throw error if trying to dequeue when buffer empty; remove duplicated methods in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added todo for creating an rmw function for checking qos compatibility

Signed-off-by: alberto <[email protected]>

test fixes

Signed-off-by: alberto <[email protected]>

refactored intra_process_manager, removed ipm impl

Signed-off-by: alberto <[email protected]>

added mutex in intra_process_manager add_* methods

Signed-off-by: Soragna, Alberto <[email protected]>

added allocator to intra_process_buffer

Signed-off-by: Soragna, Alberto <[email protected]>

added invalid intra_process qos test for subscription

Signed-off-by: Soragna, Alberto <[email protected]>

throw error if history size is 0 with keep last and ipc

Signed-off-by: Soragna, Alberto <[email protected]>

using allocator when creating unique_ptr from shared_ptr

Signed-off-by: Soragna, Alberto <[email protected]>

adding deleter template argument to intra_process buffer

Signed-off-by: Soragna, Alberto <[email protected]>

fix linter

Signed-off-by: Soragna, Alberto <[email protected]>

throw error with callbackT different from messageT

Signed-off-by: Soragna, Alberto <[email protected]>

updated deleter template argument in subscription factory

Signed-off-by: Soragna, Alberto <[email protected]>

Fix typo in test fixture tear down method name (ros2#787)

Signed-off-by: Jacob Perron <[email protected]>

Add free function for creating service clients (ros2#788)

Equivalent to the free function for creating a service.
Resolves ros2#768

Signed-off-by: Jacob Perron <[email protected]>

Cmake infrastructure for creating components (ros2#784)

*cmake macro to create components for libraries with multiple nodes

Signed-off-by: Siddharth Kucheria <[email protected]>

Allow registering multiple on_parameters_set_callback (ros2#772)

Signed-off-by: ivanpauno <[email protected]>

fix for multiple nodes not being recognized (ros2#790)

Signed-off-by: Siddharth Kucheria <[email protected]>

Remove non-package from ament_target_dependencies() (ros2#793)

Signed-off-by: Shane Loretz <[email protected]>

fix linter issue (ros2#795)

Signed-off-by: Siddharth Kucheria <[email protected]>

Make TimeSource ignore use_sim_time events coming from other nodes. (ros2#799)

Signed-off-by: Michel Hidalgo <[email protected]>

passing deleter template parameter

Signed-off-by: Soragna, Alberto <[email protected]>

small fixes for failing tests

Signed-off-by: Soragna, Alberto <[email protected]>

fixed imports in test_intra_process_manager

Signed-off-by: Soragna, Alberto <[email protected]>

using RCLCPP_SMART_PTR_ALIASES_ONLY and RCLCPP_PUBLIC macros

Signed-off-by: Soragna, Alberto <[email protected]>

added RCLCPP_PUBLIC macros and virtual destructor to sub intra_process base

Signed-off-by: Soragna, Alberto <[email protected]>

added unique_ptr alias to macros

Signed-off-by: Soragna, Alberto <[email protected]>

updated test_intra_process_manager.cpp

Signed-off-by: Soragna, Alberto <[email protected]>

remove mock msgs from rclcpp (ros2#800)

Signed-off-by: Karsten Knese <[email protected]>

Add line break after first open paren in multiline function call (ros2#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 ament/ament_lint#148

Signed-off-by: Dan Rose <[email protected]>

Fix dedent when first function argument starts with a brace

Signed-off-by: Dan Rose <[email protected]>

Line break with multiline if condition
Remove line breaks where allowed.

Signed-off-by: Dan Rose <[email protected]>

Fixup after rebase

Signed-off-by: Dan Rose <[email protected]>

Fixup again after reverting indent_paren_open_brace

Signed-off-by: Dan Rose <[email protected]>

* Revert comment spacing change, condense some lines

Signed-off-by: Dan Rose <[email protected]>

Adapt to '--ros-args ... [--]'-based ROS args extraction (ros2#816)

* Use --ros-args to deal with node arguments in rclcpp.

Signed-off-by: Michel Hidalgo <[email protected]>

* Document implicit --ros-args flag in NodeOptions::arguments().

Signed-off-by: Michel Hidalgo <[email protected]>

* Add missing size_t to int cast.

Signed-off-by: Michel Hidalgo <[email protected]>

* Only add implicit --ros-args flag if not present already.

Signed-off-by: Michel Hidalgo <[email protected]>

* Add some rclcpp::NodeOptions test coverage.

Signed-off-by: Michel Hidalgo <[email protected]>

* Address peer review comments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Please cpplint and uncrustify.

Signed-off-by: Michel Hidalgo <[email protected]>

Guard against making multiple result requests for a goal handle (ros2#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 ros2#783

Signed-off-by: Jacob Perron <[email protected]>

Explain return value of spin_until_future_complete (ros2#792)

Signed-off-by: Dan Rose <[email protected]>

Allow passing logger by const ref (ros2#820)

Signed-off-by: Karsten Knese <[email protected]>

Delete unnecessary call for get_node_by_group (ros2#823)

Signed-off-by: Tomoya.Fujita <[email protected]>

Fix get_node_interfaces functions taking a pointer (ros2#821)

Signed-off-by: ivanpauno <[email protected]>

add callback group as member variable and constructor arg (ros2#811)

Signed-off-by: bpwilcox <[email protected]>

remove callback group as member variable

Wrap documentation examples in code blocks (ros2#830)

This makes the code examples easier to read in the generated documentation.

Signed-off-by: Jacob Perron <[email protected]>

Crash in callback group pointer vector iterator (ros2#814)

Signed-off-by: Guillaume Autran <[email protected]>

add mutex in add/remove_node and wait_for_work to protect concurrent use/change of memory_strategy_ (ros2#837)

Signed-off-by: Dirk Thomas <[email protected]>

Fix hang with timers in MultiThreadedExecutor (ros2#835) (ros2#836)

Signed-off-by: Todd Malsbary <[email protected]>

Use of -r/--remap flags where appropriate. (ros2#834)

Signed-off-by: Michel Hidalgo <[email protected]>

Force explicit --ros-args in NodeOptions::arguments(). (ros2#845)

Signed-off-by: Michel Hidalgo <[email protected]>

Fail on invalid and unknown ROS specific arguments (ros2#842)

* Fail on invalid and unknown ROS specific arguments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Revert changes to utilities.hpp in rclcpp

Signed-off-by: Michel Hidalgo <[email protected]>

* Fully revert change to utilities.hpp

Signed-off-by: Michel Hidalgo <[email protected]>

Fix typo in deprecated warning. (ros2#848)

"it's" instead of its

Signed-off-by: Luca Della Vedova <[email protected]>

Add throwing parameter name if parameter is not set (ros2#833)

* added throwing parameter name if parameter is not set

Signed-off-by: Alex <[email protected]>
Signed-off-by: ivanpauno <[email protected]>

check valid timer handler 1st to reduce the time window for scan. (ros2#841)

Signed-off-by: Tomoya.Fujita <[email protected]>

remove features and related code which were deprecated in dashing (ros2#852)

Signed-off-by: William Woodall <[email protected]>

reset error message before setting a new one, embed the original one (ros2#854)

Signed-off-by: Dirk Thomas <[email protected]>

restored virtual destructor in publisher_base

Signed-off-by: Soragna, Alberto <[email protected]>
clalancette pushed a commit that referenced this issue Oct 21, 2019
* basic ipc implementation from alsora/new_ipc_proposal

Signed-off-by: alberto <[email protected]>

better use of node_topic create subscription

Signed-off-by: alberto <[email protected]>

added intra process manager test

Signed-off-by: alberto <[email protected]>

fixed ring buffer and added test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

added intra process buffer test

Signed-off-by: alberto <[email protected]>

Signed-off-by: alberto <[email protected]>

removed intra-process methods from subscription base

Signed-off-by: alberto <[email protected]>

using lock_guard instead of unique_lock, renamed var without camel case

Signed-off-by: alberto <[email protected]>

using unordered set and references in intra process manager

Signed-off-by: alberto <[email protected]>

subscription intra-process does not depend anymore on subscription, but has a copy of the callback

Signed-off-by: alberto <[email protected]>

changed buffer API to use rvo

Signed-off-by: Alberto <[email protected]>

avoid copying shared_ptr

Signed-off-by: alberto <[email protected]>

revert not needed changes to create_subscription

Signed-off-by: alberto <[email protected]>

updated tests according to new buffer APIs

Signed-off-by: alberto <[email protected]>

updated types in ring buffer implementation avoid using uint32_t

Signed-off-by: alberto <[email protected]>

using unique ptr for buffers in subscription_intra_process

Signed-off-by: alberto <[email protected]>

added missing std::move in subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

use consisting names for ring_buffer_implementation members

Signed-off-by: alberto <[email protected]>

addressing typos, one-liners and similar from ivanpauno review

Signed-off-by: alberto <[email protected]>

moved subscription_intra_process_base to its own files and moved non templated method from derived class

Signed-off-by: alberto <[email protected]>

removed forward declarations, fixed include subscription_intra_process_base

Signed-off-by: alberto <[email protected]>

removed member variable from do_intra_process_publish signature

Signed-off-by: alberto <[email protected]>

declare public before private in intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

made matches_any_intra_process_publishers const

Signed-off-by: alberto <[email protected]>

using const reference in get_all_matching_publishers

Signed-off-by: alberto <[email protected]>

added deleter and alloc templates in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added RCLCPP_WARN to intra_process_manager_impl

Signed-off-by: alberto <[email protected]>

passing context from node to subscription_intra_process

Signed-off-by: alberto <[email protected]>

using allocators in intra_process_manager

Signed-off-by: alberto <[email protected]>

use size_t instead of int in ring buffer indices

Signed-off-by: alberto <[email protected]>

creating buffer inside subscription_intra_process constructor

Signed-off-by: alberto <[email protected]>

fix lint errors

Signed-off-by: alberto <[email protected]>

throw error if trying to dequeue when buffer empty; remove duplicated methods in intra_process_buffer

Signed-off-by: alberto <[email protected]>

added todo for creating an rmw function for checking qos compatibility

Signed-off-by: alberto <[email protected]>

test fixes

Signed-off-by: alberto <[email protected]>

refactored intra_process_manager, removed ipm impl

Signed-off-by: alberto <[email protected]>

added mutex in intra_process_manager add_* methods

Signed-off-by: Soragna, Alberto <[email protected]>

added allocator to intra_process_buffer

Signed-off-by: Soragna, Alberto <[email protected]>

added invalid intra_process qos test for subscription

Signed-off-by: Soragna, Alberto <[email protected]>

throw error if history size is 0 with keep last and ipc

Signed-off-by: Soragna, Alberto <[email protected]>

using allocator when creating unique_ptr from shared_ptr

Signed-off-by: Soragna, Alberto <[email protected]>

adding deleter template argument to intra_process buffer

Signed-off-by: Soragna, Alberto <[email protected]>

fix linter

Signed-off-by: Soragna, Alberto <[email protected]>

throw error with callbackT different from messageT

Signed-off-by: Soragna, Alberto <[email protected]>

updated deleter template argument in subscription factory

Signed-off-by: Soragna, Alberto <[email protected]>

Fix typo in test fixture tear down method name (#787)

Signed-off-by: Jacob Perron <[email protected]>

Add free function for creating service clients (#788)

Equivalent to the free function for creating a service.
Resolves #768

Signed-off-by: Jacob Perron <[email protected]>

Cmake infrastructure for creating components (#784)

*cmake macro to create components for libraries with multiple nodes

Signed-off-by: Siddharth Kucheria <[email protected]>

Allow registering multiple on_parameters_set_callback (#772)

Signed-off-by: ivanpauno <[email protected]>

fix for multiple nodes not being recognized (#790)

Signed-off-by: Siddharth Kucheria <[email protected]>

Remove non-package from ament_target_dependencies() (#793)

Signed-off-by: Shane Loretz <[email protected]>

fix linter issue (#795)

Signed-off-by: Siddharth Kucheria <[email protected]>

Make TimeSource ignore use_sim_time events coming from other nodes. (#799)

Signed-off-by: Michel Hidalgo <[email protected]>

passing deleter template parameter

Signed-off-by: Soragna, Alberto <[email protected]>

small fixes for failing tests

Signed-off-by: Soragna, Alberto <[email protected]>

fixed imports in test_intra_process_manager

Signed-off-by: Soragna, Alberto <[email protected]>

using RCLCPP_SMART_PTR_ALIASES_ONLY and RCLCPP_PUBLIC macros

Signed-off-by: Soragna, Alberto <[email protected]>

added RCLCPP_PUBLIC macros and virtual destructor to sub intra_process base

Signed-off-by: Soragna, Alberto <[email protected]>

added unique_ptr alias to macros

Signed-off-by: Soragna, Alberto <[email protected]>

updated test_intra_process_manager.cpp

Signed-off-by: Soragna, Alberto <[email protected]>

remove mock msgs from rclcpp (#800)

Signed-off-by: Karsten Knese <[email protected]>

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 ament/ament_lint#148

Signed-off-by: Dan Rose <[email protected]>

Fix dedent when first function argument starts with a brace

Signed-off-by: Dan Rose <[email protected]>

Line break with multiline if condition
Remove line breaks where allowed.

Signed-off-by: Dan Rose <[email protected]>

Fixup after rebase

Signed-off-by: Dan Rose <[email protected]>

Fixup again after reverting indent_paren_open_brace

Signed-off-by: Dan Rose <[email protected]>

* Revert comment spacing change, condense some lines

Signed-off-by: Dan Rose <[email protected]>

Adapt to '--ros-args ... [--]'-based ROS args extraction (#816)

* Use --ros-args to deal with node arguments in rclcpp.

Signed-off-by: Michel Hidalgo <[email protected]>

* Document implicit --ros-args flag in NodeOptions::arguments().

Signed-off-by: Michel Hidalgo <[email protected]>

* Add missing size_t to int cast.

Signed-off-by: Michel Hidalgo <[email protected]>

* Only add implicit --ros-args flag if not present already.

Signed-off-by: Michel Hidalgo <[email protected]>

* Add some rclcpp::NodeOptions test coverage.

Signed-off-by: Michel Hidalgo <[email protected]>

* Address peer review comments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Please cpplint and uncrustify.

Signed-off-by: Michel Hidalgo <[email protected]>

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 <[email protected]>

Explain return value of spin_until_future_complete (#792)

Signed-off-by: Dan Rose <[email protected]>

Allow passing logger by const ref (#820)

Signed-off-by: Karsten Knese <[email protected]>

Delete unnecessary call for get_node_by_group (#823)

Signed-off-by: Tomoya.Fujita <[email protected]>

Fix get_node_interfaces functions taking a pointer (#821)

Signed-off-by: ivanpauno <[email protected]>

add callback group as member variable and constructor arg (#811)

Signed-off-by: bpwilcox <[email protected]>

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 <[email protected]>

Crash in callback group pointer vector iterator (#814)

Signed-off-by: Guillaume Autran <[email protected]>

add mutex in add/remove_node and wait_for_work to protect concurrent use/change of memory_strategy_ (#837)

Signed-off-by: Dirk Thomas <[email protected]>

Fix hang with timers in MultiThreadedExecutor (#835) (#836)

Signed-off-by: Todd Malsbary <[email protected]>

Use of -r/--remap flags where appropriate. (#834)

Signed-off-by: Michel Hidalgo <[email protected]>

Force explicit --ros-args in NodeOptions::arguments(). (#845)

Signed-off-by: Michel Hidalgo <[email protected]>

Fail on invalid and unknown ROS specific arguments (#842)

* Fail on invalid and unknown ROS specific arguments.

Signed-off-by: Michel Hidalgo <[email protected]>

* Revert changes to utilities.hpp in rclcpp

Signed-off-by: Michel Hidalgo <[email protected]>

* Fully revert change to utilities.hpp

Signed-off-by: Michel Hidalgo <[email protected]>

Fix typo in deprecated warning. (#848)

"it's" instead of its

Signed-off-by: Luca Della Vedova <[email protected]>

Add throwing parameter name if parameter is not set (#833)

* added throwing parameter name if parameter is not set

Signed-off-by: Alex <[email protected]>
Signed-off-by: ivanpauno <[email protected]>

check valid timer handler 1st to reduce the time window for scan. (#841)

Signed-off-by: Tomoya.Fujita <[email protected]>

remove features and related code which were deprecated in dashing (#852)

Signed-off-by: William Woodall <[email protected]>

reset error message before setting a new one, embed the original one (#854)

Signed-off-by: Dirk Thomas <[email protected]>

restored virtual destructor in publisher_base

Signed-off-by: Soragna, Alberto <[email protected]>

* fixup a few things after rebase

Signed-off-by: William Woodall <[email protected]>

* refactor some API's and get code compiling again

Signed-off-by: William Woodall <[email protected]>

* docs and style changes (whitespace)

Signed-off-by: William Woodall <[email protected]>

* move new intra process internals into experimental namespace

Signed-off-by: William Woodall <[email protected]>

* uncrustify

Signed-off-by: William Woodall <[email protected]>

* fix issues with LoanedMessages after rebase

Signed-off-by: William Woodall <[email protected]>

* more fixups

Signed-off-by: William Woodall <[email protected]>

* readd logic for avoiding in compatible QoS

Signed-off-by: William Woodall <[email protected]>

* avoid an error when intra process is disabled

Signed-off-by: William Woodall <[email protected]>

* change intra process to preserve pointer in cyclic_pipeline

Signed-off-by: William Woodall <[email protected]>

* fix issue matching topics in intra process

Signed-off-by: William Woodall <[email protected]>

* fix some issues with the tests after latest behavior change

Signed-off-by: William Woodall <[email protected]>

* address review feedback

Signed-off-by: William Woodall <[email protected]>

* fix the initialization order

Signed-off-by: William Woodall <[email protected]>

* avoid possible loss of data warning

Signed-off-by: William Woodall <[email protected]>

* more fixes related to initialization

Signed-off-by: William Woodall <[email protected]>

* fix use of custom allocators

Signed-off-by: William Woodall <[email protected]>
nnmm pushed a commit to ApexAI/rclcpp that referenced this issue Jul 9, 2022
Within rcl_node_init() implementation.

Signed-off-by: Michel Hidalgo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants