Class BabelFishService

Inheritance Relationships

Base Types

  • public rclcpp::ServiceBase

  • private std::enable_shared_from_this< BabelFishService >

Class Documentation

class BabelFishService : public rclcpp::ServiceBase, private std::enable_shared_from_this<BabelFishService>

Public Functions

BabelFishService(rclcpp::Node *node, const std::string &name, ServiceTypeSupport::ConstSharedPtr type_support, std::function<void(const rmw_request_id_t&, const CompoundMessage&, CompoundMessage&)> callback, rcl_service_options_t options)
rclcpp::ServiceBase::ConstSharedPtr getService() const
rclcpp::ServiceBase::SharedPtr getService()
BabelFishService(std::shared_ptr<rcl_node_t> node, const std::string &service_name, ServiceTypeSupport::ConstSharedPtr type_support, AnyServiceCallback callback, rcl_service_options_t options)

Do not call directly, this is private API and might change. Use BabelFish::create_service.

bool take_request(CompoundMessage &request_out, rmw_request_id_t &request_id_out)
void send_response(rmw_request_id_t &request_id, CompoundMessage &response)
std::shared_ptr<void> create_request() override
std::shared_ptr<rmw_request_id_t> create_request_header() override
void handle_request(std::shared_ptr<rmw_request_id_t> request_header, std::shared_ptr<void> request) override