1 #ifndef ZIO_DOMO_BROKER_HPP_SEEN     2 #define ZIO_DOMO_BROKER_HPP_SEEN     5 #include <unordered_map>     6 #include <unordered_set>    39                                         zio::multipart_t& mmsg)> recv;
    51             Service* service{
nullptr};
    64             std::deque<zio::multipart_t> requests;
    67             std::list<Worker*> waiting;
    77         Service* service_require(std::string 
name);
    78         void service_dispatch(Service* srv);
    80                               zio::multipart_t& mmsg);
    83         void worker_delete(Worker*& wrk, 
int disconnect);
    86         void worker_waiting(Worker* wkr);
    98         std::unordered_map<remote_identity_t, Service*> m_services;
    99         std::unordered_map<remote_identity_t, Worker*> m_workers;
   100         std::unordered_set<Worker*> m_waiting;
 
void proc_heartbeat(time_unit_t heartbeat_at)
Do heartbeat processing given next heatbeat time. 
 
void broker_actor(zio::socket_t &link, std::string address, int socktype)
 
const time_unit_t HEARTBEAT_EXPIRY
 
void proc_one()
Process one input on socket. 
 
const time_unit_t HEARTBEAT_INTERVAL
 
std::string remote_identity_t
 
implementation of ZIO data flow protocol endpoints 
 
Broker(zio::socket_t &sock)
 
std::chrono::milliseconds time_unit_t