5 #include <rclcpp/client.hpp> 6 #include <rclcpp/serialized_message.hpp> 7 #include <rcpputils/shared_library.hpp> 15 using Promise = std::promise<SharedResponse>;
26 GenericClient(rclcpp::node_interfaces::NodeBaseInterface* node_base,
27 rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph,
28 std::string service_name, std::string service_type,
29 rcl_client_options_t& client_options);
35 std::shared_ptr<void>
response)
override;
const rosidl_service_type_support_t * _serviceTypeSupportHdl
std::promise< SharedResponse > Promise
std::shared_future< SharedResponse > SharedFuture
std::shared_ptr< rclcpp::SerializedMessage > SharedResponse
std::mutex pending_requests_mutex_
const rosidl_message_type_support_t * _responseTypeSupportHdl
std::function< void(SharedFuture)> CallbackType
void handle_response(std::shared_ptr< rmw_request_id_t > request_header, std::shared_ptr< void > response) override
std::promise< std::pair< SharedRequest, SharedResponse > > PromiseWithRequest
std::shared_ptr< PromiseWithRequest > SharedPromiseWithRequest
std::shared_ptr< void > create_response() override
const rosidl_service_type_support_t * _typeIntrospectionHdl
std::shared_ptr< rclcpp::SerializedMessage > SharedRequest
SharedFuture async_send_request(SharedRequest request)
GenericClient(rclcpp::node_interfaces::NodeBaseInterface *node_base, rclcpp::node_interfaces::NodeGraphInterface::SharedPtr node_graph, std::string service_name, std::string service_type, rcl_client_options_t &client_options)
std::shared_ptr< rcpputils::SharedLibrary > _typeSupportLib
std::function< void(SharedFutureWithRequest)> CallbackWithRequestType
std::map< int64_t, std::tuple< SharedPromise, CallbackType, SharedFuture > > pending_requests_
std::shared_ptr< rmw_request_id_t > create_request_header() override
std::shared_future< std::pair< SharedRequest, SharedResponse > > SharedFutureWithRequest
const rosidl_message_type_support_t * _requestTypeSupportHdl
std::shared_ptr< rcpputils::SharedLibrary > _typeIntrospectionLib
std::shared_ptr< Promise > SharedPromise
const std::string response