15 #ifndef SIMULATION_INTERFACE__ZMQ_MULTI_CLIENT_HPP_ 
   16 #define SIMULATION_INTERFACE__ZMQ_MULTI_CLIENT_HPP_ 
   18 #include <simulation_interface/simulation_api_schema.pb.h> 
   23 #include <rclcpp/rclcpp.hpp> 
   28 #include <zmqpp/zmqpp.hpp> 
   37     const unsigned int socket_port);
 
   43   auto call(
const simulation_api_schema::SimulationRequest &)
 
   44     -> simulation_api_schema::SimulationResponse;
 
   46   auto call(
const simulation_api_schema::InitializeRequest &)
 
   47     -> simulation_api_schema::InitializeResponse;
 
   49   auto call(
const simulation_api_schema::UpdateFrameRequest &)
 
   50     -> simulation_api_schema::UpdateFrameResponse;
 
   52   auto call(
const simulation_api_schema::UpdateStepTimeRequest &)
 
   53     -> simulation_api_schema::UpdateStepTimeResponse;
 
   55   auto call(
const simulation_api_schema::SpawnVehicleEntityRequest &)
 
   56     -> simulation_api_schema::SpawnVehicleEntityResponse;
 
   58   auto call(
const simulation_api_schema::SpawnPedestrianEntityRequest &)
 
   59     -> simulation_api_schema::SpawnPedestrianEntityResponse;
 
   61   auto call(
const simulation_api_schema::SpawnMiscObjectEntityRequest &)
 
   62     -> simulation_api_schema::SpawnMiscObjectEntityResponse;
 
   64   auto call(
const simulation_api_schema::DespawnEntityRequest &)
 
   65     -> simulation_api_schema::DespawnEntityResponse;
 
   67   auto call(
const simulation_api_schema::UpdateEntityStatusRequest &)
 
   68     -> simulation_api_schema::UpdateEntityStatusResponse;
 
   70   auto call(
const simulation_api_schema::AttachImuSensorRequest &)
 
   71     -> simulation_api_schema::AttachImuSensorResponse;
 
   73   auto call(
const simulation_api_schema::AttachLidarSensorRequest &)
 
   74     -> simulation_api_schema::AttachLidarSensorResponse;
 
   76   auto call(
const simulation_api_schema::AttachDetectionSensorRequest &)
 
   77     -> simulation_api_schema::AttachDetectionSensorResponse;
 
   79   auto call(
const simulation_api_schema::AttachOccupancyGridSensorRequest &)
 
   80     -> simulation_api_schema::AttachOccupancyGridSensorResponse;
 
   82   auto call(
const simulation_api_schema::UpdateTrafficLightsRequest &)
 
   83     -> simulation_api_schema::UpdateTrafficLightsResponse;
 
   85   auto call(
const simulation_api_schema::AttachPseudoTrafficLightDetectorRequest &)
 
   86     -> simulation_api_schema::AttachPseudoTrafficLightDetectorResponse;
 
   92   zmqpp::context context_;
 
   93   const zmqpp::socket_type type_;
 
   94   zmqpp::socket socket_;
 
   96   bool is_running = 
true;
 
Definition: zmq_multi_client.hpp:33
const simulation_interface::TransportProtocol protocol
Definition: zmq_multi_client.hpp:88
MultiClient(const simulation_interface::TransportProtocol &protocol, const std::string &hostname, const unsigned int socket_port)
Definition: zmq_multi_client.cpp:21
void closeConnection()
Definition: zmq_multi_client.cpp:33
auto call(const simulation_api_schema::SimulationRequest &) -> simulation_api_schema::SimulationResponse
Definition: zmq_multi_client.cpp:43
~MultiClient()
Definition: zmq_multi_client.cpp:41
const std::string hostname
Definition: zmq_multi_client.hpp:89
TransportProtocol
Definition: constants.hpp:22
std::string string
Definition: junit5.hpp:26
Definition: conversions.hpp:56