Template Class Client

Inheritance Relationships

Base Types

  • public rclcpp::ClientBase (Class ClientBase)

  • public std::enable_shared_from_this< Client< ServiceT > >

Class Documentation

template<typename ServiceT>
class Client : public rclcpp::ClientBase, public std::enable_shared_from_this<Client<ServiceT>>

Public Types

using Types = rclcpp::ClientTypes<ServiceT>
using Request = typename Types::Request
using Response = typename Types::Response
using SharedRequest = typename Types::SharedRequest
using SharedResponse = typename Types::SharedResponse
using Promise = std::promise<SharedResponse>
using PromiseWithRequest = std::promise<std::pair<SharedRequest, SharedResponse>>
using SharedPromise = std::shared_ptr<Promise>
using SharedPromiseWithRequest = std::shared_ptr<PromiseWithRequest>
using FutureAndRequestId = typename Types::FutureAndRequestId
using SharedFutureAndRequestId = typename Types::SharedFutureAndRequestId
using SharedFutureWithRequestAndRequestId = typename Types::SharedFutureWithRequestAndRequestId
using CallbackType = typename Types::CallbackType
using CallbackWithRequestType = typename Types::CallbackWithRequestType

Public Functions

inline Client(rclcpp::node_interfaces::NodeBaseInterface *node_base, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface> &node_graph, const std::string &service_name, rcl_client_options_t &options)
virtual ~Client() = default
inline std::shared_ptr<void> create_response() override
inline std::shared_ptr<rmw_request_id_t> create_request_header() override
inline void handle_response(const std::shared_ptr<rmw_request_id_t> &request_header, const std::shared_ptr<void> &response) override
inline FutureAndRequestId async_send_request(SharedRequest request)
inline SharedFutureAndRequestId async_send_request(SharedRequest request, CallbackType cb)
inline SharedFutureWithRequestAndRequestId async_send_request(SharedRequest request, CallbackWithRequestType cb)
inline bool service_is_ready()
inline bool wait_for_service(std::chrono::duration<int64_t, std::milli> timeout)
inline void post_init_setup()