PICloud Dispatcher screen mode

This commit is contained in:
2021-04-09 16:44:05 +03:00
parent f0e2410929
commit f75ce1e8e0
8 changed files with 194 additions and 29 deletions

View File

@@ -3,13 +3,23 @@
#include "cloudserver.h"
class TileList;
class DispatcherServer: public PIObject {
PIOBJECT(DispatcherServer)
public:
DispatcherServer(PIEthernet::Address addr);
~DispatcherServer();
EVENT_HANDLER0(void, printStatus);
void start();
void updateConnectionsTile(TileList * tl);
void updateServersTile(TileList * tl, PISet<const DispatcherClient *> servers = PISet<const DispatcherClient *>());
void updateClientsTile(TileList * tl, PISet<const DispatcherClient *> servers = PISet<const DispatcherClient *>());
const DispatcherClient * getConnection(int index);
const DispatcherClient * getServer(int index);
PISet<const DispatcherClient *> getServers(PISet<int> ids);
EVENT_HANDLER0(void, picoutStatus);
private:
EVENT_HANDLER1(void, newConnection, PIEthernet * , cl);
@@ -22,7 +32,6 @@ private:
PIMap<const DispatcherClient *, CloudServer *> index_c_servers;
PIMap<const DispatcherClient *, CloudServer *> index_c_clients;
PIVector<DispatcherClient*> rm_clients;
PITimer status_timer;
PITimer timeout_timer;
PIMutex map_mutex;
uint client_gid;