Class BabelFishServiceClient

Inheritance Relationships

Base Type

  • public rclcpp::ClientBase

Class Documentation

class BabelFishServiceClient : public rclcpp::ClientBase

Public Types

using SharedRequest = CompoundMessage::SharedPtr
using SharedResponse = CompoundMessage::SharedPtr
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 SharedFuture = std::shared_future<SharedResponse>
using SharedFutureWithRequest = std::shared_future<std::pair<SharedRequest, SharedResponse>>
using CallbackType = std::function<void(SharedFuture)>
using CallbackWithRequestType = std::function<void(const SharedFutureWithRequest&)>

Public Functions

BabelFishServiceClient(rclcpp::node_interfaces::NodeBaseInterface *node_base, rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph, const std::string &service_name, ServiceTypeSupport::ConstSharedPtr type_support, rcl_client_options_t client_options)
bool take_response(CompoundMessage &response_out, rmw_request_id_t &request_header_out)
std::shared_ptr<void> create_response() override
std::shared_ptr<rmw_request_id_t> create_request_header() override
SharedFuture async_send_request(SharedRequest request)
template<typename CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, CallbackType>::value>::type* = nullptr>
inline SharedFuture async_send_request(const SharedRequest &request, CallbackT &&cb)
template<typename CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, CallbackWithRequestType>::value>::type* = nullptr>
inline SharedFutureWithRequest async_send_request(SharedRequest request, CallbackT &&cb)
void handle_response(std::shared_ptr<rmw_request_id_t> request_header, std::shared_ptr<void> response) override