Files
pip/utils/cloud_dispatcher/dispatcherserver.h
2021-04-05 17:42:02 +03:00

28 lines
704 B
C++

#ifndef DISPATCHERSERVER_H
#define DISPATCHERSERVER_H
#include "cloudserver.h"
class DispatcherServer: public PIObject {
PIOBJECT(DispatcherServer)
public:
DispatcherServer(PIEthernet::Address addr);
~DispatcherServer();
EVENT_HANDLER0(void, printStatus);
private:
EVENT_HANDLER1(void, newConnection, PIEthernet * , cl);
EVENT_HANDLER1(void, disconnectClient, DispatcherClient *, client);
PIEthernet eth;
PIVector<DispatcherClient*> clients;
PIMap<PIString, CloudServer *> c_servers;
PIMap<const DispatcherClient *, CloudServer *> index_c_servers;
PIMap<const DispatcherClient *, CloudServer *> index_c_clients;
PITimer status_timer;
PIMutex map_mutex;
};
#endif // DISPATCHERSERVER_H