Class BabelFishServiceClient
Defined in File babel_fish_service_client.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public rclcpp::ClientBase
Class Documentation
-
class BabelFishServiceClient : public rclcpp::ClientBase
Public Types
-
using Promise = std::promise<SharedResponse>
-
using PromiseWithRequest = std::promise<std::pair<SharedRequest, SharedResponse>>
-
using CallbackType = std::function<void(SharedFuture)>
-
using CallbackWithRequestType = std::function<void(const SharedFutureWithRequest&)>
Public Functions
-
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
-
bool remove_pending_request(int64_t request_id)
-
bool remove_pending_request(const FutureAndRequestId &future)
-
size_t prune_pending_requests()
-
template<typename AllocatorT = std::allocator<int64_t>>
inline size_t prune_requests_older_than(std::chrono::time_point<std::chrono::system_clock> time_point, std::vector<int64_t, AllocatorT> *pruned_requests = nullptr)
Protected Types
-
using CallbackTypeValueVariant = std::tuple<CallbackType, SharedFuture, Promise>
-
using CallbackWithRequestTypeValueVariant = std::tuple<CallbackWithRequestType, SharedRequest, SharedFutureWithRequest, PromiseWithRequest>
-
using CallbackInfoVariant = std::variant<Promise, CallbackTypeValueVariant, CallbackWithRequestTypeValueVariant>
Protected Functions
Protected Attributes
-
std::map<int64_t, std::pair<std::chrono::time_point<std::chrono::system_clock>, CallbackInfoVariant>> pending_requests_
-
std::mutex pending_requests_mutex_
-
struct FutureAndRequestId : public rclcpp::detail::FutureAndRequestId<std::future<SharedResponse>>
Public Functions
-
using Promise = std::promise<SharedResponse>