51 incomingMachineMessageQueue,
53 outgoingMachineMessageQueue,
54 uint16_t reqResPort = 63524, uint16_t pubSubPort = 63525);
116 void handleUpgrade(uWS::HttpResponse<false>* res, uWS::HttpRequest* req,
117 us_socket_context_t* context,
118 bool checkDuplicateClientIds =
false);
174 std::atomic<bool> running_ =
false;
177 uint16_t reqResPort_ = 63524;
179 std::thread reqResThread_;
181 uWS::Loop* reqResLoop_ =
nullptr;
183 us_listen_socket_t* reqResListenToken_ =
nullptr;
185 std::unordered_map<std::string,
186 uWS::WebSocket<false, true, ProtoServer::ConnectionData>*>
187 reqResConnectionIdToWebSocketMap_;
190 uint16_t pubSubPort_ = 63525;
192 std::thread pubSubThread_;
194 uWS::Loop* pubSubLoop_ =
nullptr;
196 us_listen_socket_t* pubSubListenToken_ =
nullptr;
198 std::unordered_map<std::string,
199 uWS::WebSocket<false, true, ProtoServer::ConnectionData>*>
200 pubSubConnectionIdToWebSocketMap_;
204 incomingMachineMessageQueue_;
207 outgoingMachineMessageQueue_;
210 std::thread serverThread_;
273 void sendOutgoingMachineMessages();
285 std::unordered_map<std::string,
286 std::tuple<std::string, std::set<std::string>>>
287 monitoringSubscriptionMap_;
ProtoServer(mm::core::containers::ThreadSafeQueue< IncomingMachineMessage > &incomingMachineMessageQueue, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoingMachineMessageQueue, uint16_t reqResPort=63524, uint16_t pubSubPort=63525)
Construct a new ProtoServer object.
Definition proto_server.cc:7