52 comms = std::make_unique<COMMS>();
57template<
class COMMS,
class BrokerT>
62 while (!disconnectionStage.compare_exchange_weak(exp, 3)) {
67 std::this_thread::sleep_for(std::chrono::milliseconds(50));
74template<
class COMMS,
class BrokerT>
80template<
class COMMS,
class BrokerT>
81void CommsBroker<COMMS, BrokerT>::commDisconnect()
84 if (disconnectionStage.compare_exchange_strong(exp, 1)) {
86 disconnectionStage = 2;
90template<
class COMMS,
class BrokerT>
91bool CommsBroker<COMMS, BrokerT>::tryReconnect()
93 return comms->reconnect();
96template<
class COMMS,
class BrokerT>
97void CommsBroker<COMMS, BrokerT>::transmit(route_id rid,
const ActionMessage& cmd)
99 comms->transmit(rid, cmd);
102template<
class COMMS,
class BrokerT>
103void CommsBroker<COMMS, BrokerT>::transmit(route_id rid, ActionMessage&& cmd)
105 comms->transmit(rid, std::move(cmd));
108template<
class COMMS,
class BrokerT>
109void CommsBroker<COMMS, BrokerT>::addRoute(route_id rid,
111 std::string_view routeInfo)
113 comms->addRoute(rid, routeInfo);
116template<
class COMMS,
class BrokerT>
117void CommsBroker<COMMS, BrokerT>::removeRoute(route_id rid)
119 comms->removeRoute(rid);
122template<
class COMMS,
class BrokerT>