No description
Find a file
Jacob Perron c7b62bff71
[rclcpp_action] Action client holds weak pointers to goal handles (#1122)
* [rclcpp_action] Action client holds weak pointers to goal handles

Fixes #861

It is against the design of ROS actions to rely on the status topic for the core implementation,
instead it should just be used for introspection.

Rather than relying on the status topic to remove references to goal handles, the action client
instead holds weak pointers to the goal handles. This way as long as a user holds a reference to
the goal handle they can use it to interact with the action client.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Move cleanup logic to the end of the function

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Add TODO

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Log debug messages when dropping a weak references to goal handles

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

* Improve documentation

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2020-05-22 11:41:34 -07:00
.github advise to ask questions on ROS answers 2018-02-26 22:01:36 -08:00
rclcpp remove empty lines within method signatures (#1128) 2020-05-22 11:36:32 -07:00
rclcpp_action [rclcpp_action] Action client holds weak pointers to goal handles (#1122) 2020-05-22 11:41:34 -07:00
rclcpp_components Added features to rclcpp packages (#1106) 2020-05-15 16:41:25 +02:00
rclcpp_lifecycle Added features to rclcpp packages (#1106) 2020-05-15 16:41:25 +02:00
.gitignore add wait_for_action_server() for action clients (#598) 2018-12-06 18:57:25 -08:00
CONTRIBUTING.md add section about DCO to CONTRIBUTING.md 2019-03-20 08:38:07 -07:00
LICENSE update license file to keep copyright template 2015-04-03 12:30:27 -07:00
README.md Added Quality declaration: rclcpp, rclpp_action, rclcpp_components andrclcpp_lifecycle (#1100) 2020-05-01 22:41:22 +02:00

rclcpp

This repository contains the source code for the ROS Client Library for C++ package, included with a standard install of any ROS 2 distro.

rclcpp provides the standard C++ API for interacting with ROS 2.

Usage

#include "rclcpp/rclcpp.hpp" allows use of the most common elements of the ROS 2 system.

Visit the rclcpp API documentation for a complete list of its main components.

Examples

The ROS 2 tutorials Writing a simple publisher and subscriber and Writing a simple service and client contain some examples of rclcpp APIs in use.