-
Notifications
You must be signed in to change notification settings - Fork 166
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 Action graph API #411
Add Action graph API #411
Conversation
I forgot this was based on top of #404, which should be reviewed/merged first. |
Builds on top of the rcl graph API. A list of action names associated with action clients can be constructed by looking for subscriber topic names that have the suffix "/_action/feedback". Likewise, action servers are associated with publisher topic names with the same suffix. Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
* Move graph API common implementation to local function * Refactor tests Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
c68dbef
to
689a051
Compare
Ready for review. |
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.
Haven't reviewed test_graph.cpp yet, will do later today
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
{ | ||
public: | ||
const char * remote_node_name = "remote_graph_node"; | ||
const char * action_name = "/test_action_info_functions__"; |
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.
http://design.ros2.org/articles/topic_and_service_names.html forbids __
- must not contain any number of repeated underscores (
_
)
I'm surprised the action topics and services are created successfully. This might be worth opening a bug for.
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.
I didn't realize, I copied this from what's done in the rcl
graph tests:
rcl/rcl/test/rcl/test_graph.cpp
Line 737 in d810f12
std::string topic_name = "/test_node_info_functions__"; |
Signed-off-by: Jacob Perron <[email protected]>
Pass valid names and types struct and update expected error code. Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Signed-off-by: Jacob Perron <[email protected]>
Increasing version of package(s) in repository `rcl` to `0.7.0-3`: - upstream repository: https://github.com/ros2/rcl.git - release repository: https://github.com/ros2-gbp/rcl-release.git - file: `dashing/distribution.yaml` - bloom version: `0.8.0` - previous version for package: `0.7.0-2` ## rcl ``` * Added more test cases for graph API + fix bug. (#404 <ros2/rcl#404>) * Fixed missing include. (#413 <ros2/rcl#413>) * Updated to use pedantic. (#412 <ros2/rcl#412>) * Added function to get publisher actual qos settings. (#406 <ros2/rcl#406>) * Refactored graph API docs. (#401 <ros2/rcl#401>) * Updated to use ament_target_dependencies where possible. (#400 <ros2/rcl#400>) * Fixed regression around fully qualified node name. (#402 <ros2/rcl#402>) * Added function rcl_names_and_types_init. (#403 <ros2/rcl#403>) * Fixed uninitialize sequence number of client. (#395 <ros2/rcl#395>) * Added launch along with launch_testing as test dependencies. (#393 <ros2/rcl#393>) * Set symbol visibility to hidden for rcl. (#391 <ros2/rcl#391>) * Updated to split test_token to avoid compiler note. (#392 <ros2/rcl#392>) * Dropped legacy launch API usage. (#387 <ros2/rcl#387>) * Improved security directory lookup. (#332 <ros2/rcl#332>) * Enforce non-null argv values on rcl_init(). (#388 <ros2/rcl#388>) * Removed incorrect argument documentation. (#361 <ros2/rcl#361>) * Changed error to warning for multiple loggers. (#384 <ros2/rcl#384>) * Added rcl_node_get_fully_qualified_name. (#255 <ros2/rcl#255>) * Updated rcl_remap_t to use the PIMPL pattern. (#377 <ros2/rcl#377>) * Fixed documentation typo. (#376 <ros2/rcl#376>) * Removed test circumvention now that a bug is fixed in rmw_opensplice. (#368 <ros2/rcl#368>) * Updated to pass context to wait set, and fini rmw context. (#373 <ros2/rcl#373>) * Updated to publish logs to Rosout. (#350 <ros2/rcl#350>) * Contributors: AAlon, Dirk Thomas, Jacob Perron, M. M, Michael Carroll, Michel Hidalgo, Mikael Arguedas, Nick Burek, RARvolt, Ross Desmond, Sachin Suresh Bhat, Shane Loretz, William Woodall, ivanpauno ``` ## rcl_action ``` * Added Action graph API (#411 <ros2/rcl#411>) * Updated to use ament_target_dependencies where possible. (#400 <ros2/rcl#400>) * Fixed typo in Doxyfile. (#398 <ros2/rcl#398>) * Updated tests to use separated action types. (#340 <ros2/rcl#340>) * Fixed minor documentation issues. (#397 <ros2/rcl#397>) * Set symbol visibility to hidden for rcl. (#391 <ros2/rcl#391>) * Fixed rcl_action documentation. (#380 <ros2/rcl#380>) * Removed now unused test executable . (#382 <ros2/rcl#382>) * Removed unused action server option 'clock_type'. (#382 <ros2/rcl#382>) * Set error message when there is an invalid goal transition. (#382 <ros2/rcl#382>) * Updated to pass context to wait set, and fini rmw context (#373 <ros2/rcl#373>) * Contributors: Dirk Thomas, Jacob Perron, Sachin Suresh Bhat, William Woodall, ivanpauno ``` ## rcl_lifecycle ``` * Updated to use ament_target_dependencies where possible. (#400 <ros2/rcl#400>) * Set symbol visibility to hidden for rcl. (#391 <ros2/rcl#391>) * Contributors: Sachin Suresh Bhat, ivanpauno ``` ## rcl_yaml_param_parser ``` * Corrected bool reading from yaml files. (#415 <ros2/rcl#415>) * Added launch along with launch_testing as test dependencies. (#393 <ros2/rcl#393>) * Set symbol visibility to hidden for rcl. (#391 <ros2/rcl#391>) * Contributors: Michel Hidalgo, Sachin Suresh Bhat, ivanpauno ```
Increasing version of package(s) in repository `rcl` to `0.7.0-3`: - upstream repository: https://github.com/ros2/rcl.git - release repository: https://github.com/ros2-gbp/rcl-release.git - file: `dashing/distribution.yaml` - bloom version: `0.8.0` - previous version for package: `0.7.0-2` ## rcl ``` * Added more test cases for graph API + fix bug. (ros#404 <ros2/rcl#404>) * Fixed missing include. (ros#413 <ros2/rcl#413>) * Updated to use pedantic. (ros#412 <ros2/rcl#412>) * Added function to get publisher actual qos settings. (ros#406 <ros2/rcl#406>) * Refactored graph API docs. (ros#401 <ros2/rcl#401>) * Updated to use ament_target_dependencies where possible. (ros#400 <ros2/rcl#400>) * Fixed regression around fully qualified node name. (ros#402 <ros2/rcl#402>) * Added function rcl_names_and_types_init. (ros#403 <ros2/rcl#403>) * Fixed uninitialize sequence number of client. (ros#395 <ros2/rcl#395>) * Added launch along with launch_testing as test dependencies. (ros#393 <ros2/rcl#393>) * Set symbol visibility to hidden for rcl. (ros#391 <ros2/rcl#391>) * Updated to split test_token to avoid compiler note. (ros#392 <ros2/rcl#392>) * Dropped legacy launch API usage. (ros#387 <ros2/rcl#387>) * Improved security directory lookup. (ros#332 <ros2/rcl#332>) * Enforce non-null argv values on rcl_init(). (ros#388 <ros2/rcl#388>) * Removed incorrect argument documentation. (ros#361 <ros2/rcl#361>) * Changed error to warning for multiple loggers. (ros#384 <ros2/rcl#384>) * Added rcl_node_get_fully_qualified_name. (ros#255 <ros2/rcl#255>) * Updated rcl_remap_t to use the PIMPL pattern. (ros#377 <ros2/rcl#377>) * Fixed documentation typo. (ros#376 <ros2/rcl#376>) * Removed test circumvention now that a bug is fixed in rmw_opensplice. (ros#368 <ros2/rcl#368>) * Updated to pass context to wait set, and fini rmw context. (ros#373 <ros2/rcl#373>) * Updated to publish logs to Rosout. (ros#350 <ros2/rcl#350>) * Contributors: AAlon, Dirk Thomas, Jacob Perron, M. M, Michael Carroll, Michel Hidalgo, Mikael Arguedas, Nick Burek, RARvolt, Ross Desmond, Sachin Suresh Bhat, Shane Loretz, William Woodall, ivanpauno ``` ## rcl_action ``` * Added Action graph API (ros#411 <ros2/rcl#411>) * Updated to use ament_target_dependencies where possible. (ros#400 <ros2/rcl#400>) * Fixed typo in Doxyfile. (ros#398 <ros2/rcl#398>) * Updated tests to use separated action types. (ros#340 <ros2/rcl#340>) * Fixed minor documentation issues. (ros#397 <ros2/rcl#397>) * Set symbol visibility to hidden for rcl. (ros#391 <ros2/rcl#391>) * Fixed rcl_action documentation. (ros#380 <ros2/rcl#380>) * Removed now unused test executable . (ros#382 <ros2/rcl#382>) * Removed unused action server option 'clock_type'. (ros#382 <ros2/rcl#382>) * Set error message when there is an invalid goal transition. (ros#382 <ros2/rcl#382>) * Updated to pass context to wait set, and fini rmw context (ros#373 <ros2/rcl#373>) * Contributors: Dirk Thomas, Jacob Perron, Sachin Suresh Bhat, William Woodall, ivanpauno ``` ## rcl_lifecycle ``` * Updated to use ament_target_dependencies where possible. (ros#400 <ros2/rcl#400>) * Set symbol visibility to hidden for rcl. (ros#391 <ros2/rcl#391>) * Contributors: Sachin Suresh Bhat, ivanpauno ``` ## rcl_yaml_param_parser ``` * Corrected bool reading from yaml files. (ros#415 <ros2/rcl#415>) * Added launch along with launch_testing as test dependencies. (ros#393 <ros2/rcl#393>) * Set symbol visibility to hidden for rcl. (ros#391 <ros2/rcl#391>) * Contributors: Michel Hidalgo, Sachin Suresh Bhat, ivanpauno ```
Connects to ros2/ros2cli#202