#ifndef HONLINECLIENTSERVERCOM_H
#define HONLINECLIENTSERVERCOM_H
#include "TList.h"
#include "TSocket.h"
#include "TServerSocket.h"
#include "TMonitor.h"
#include "TNamed.h"
#include "honlinemonhist.h"
#include "TMessage.h"
#include "TMap.h"
#include "TObjString.h"
#include "TThread.h"
#include <vector>
using namespace std;
typedef Bool_t (*fillptrHOnlineClientServerCom)(Int_t);
class HOnlineClientServerCom : public TNamed {
public:
TMap clientRequests;
HOnlineClientServerCom(TString name, TString hostname, Int_t port);
virtual ~HOnlineClientServerCom();
Bool_t init();
Bool_t processClientRequests();
Int_t processClients(TList& histPool);
Bool_t sendHistToClient(TSocket* socket, HOnlineMonHistAddon* hist);
Bool_t sendTextToClient(TSocket* socket, TString msg);
Bool_t sendListToClient(TSocket* socket, TList* list);
void setDebug(Bool_t dodebug) { fDebug = dodebug; }
static void setEvtCounterInterval(Int_t ct = 100) { fEvtCtInterval = ct ;}
void eventLoop(vector < fillptrHOnlineClientServerCom >* fillfunctions);
private:
TMonitor *monitor;
TServerSocket *serversocket;
TList socketlist;
TSocket* masterClient;
Int_t fPort;
TString fHostname;
Int_t fTimeout;
Bool_t fDebug;
static Int_t fEvtCtInterval;
static Float_t fSpeed;
static Bool_t isInit;
static Bool_t doStop;
TThread* eventLoopThread;
static void* ThreadEventLoop(void* arg);
ClassDef(HOnlineClientServerCom, 1);
};
#endif
honlineclientservercom.h:1 honlineclientservercom.h:2 honlineclientservercom.h:3 honlineclientservercom.h:4 honlineclientservercom.h:5 honlineclientservercom.h:6 honlineclientservercom.h:7 honlineclientservercom.h:8 honlineclientservercom.h:9 honlineclientservercom.h:10 honlineclientservercom.h:11 honlineclientservercom.h:12 honlineclientservercom.h:13 honlineclientservercom.h:14 honlineclientservercom.h:15 honlineclientservercom.h:16 honlineclientservercom.h:17 honlineclientservercom.h:18 honlineclientservercom.h:19 honlineclientservercom.h:20 honlineclientservercom.h:21 honlineclientservercom.h:22 honlineclientservercom.h:23 honlineclientservercom.h:24 honlineclientservercom.h:25 honlineclientservercom.h:26 honlineclientservercom.h:27 honlineclientservercom.h:28 honlineclientservercom.h:29 honlineclientservercom.h:30 honlineclientservercom.h:31 honlineclientservercom.h:32 honlineclientservercom.h:33 honlineclientservercom.h:34 honlineclientservercom.h:35 honlineclientservercom.h:36 honlineclientservercom.h:37 honlineclientservercom.h:38 honlineclientservercom.h:39 honlineclientservercom.h:40 honlineclientservercom.h:41 honlineclientservercom.h:42 honlineclientservercom.h:43 honlineclientservercom.h:44 honlineclientservercom.h:45 honlineclientservercom.h:46 honlineclientservercom.h:47 honlineclientservercom.h:48 honlineclientservercom.h:49 honlineclientservercom.h:50 honlineclientservercom.h:51 honlineclientservercom.h:52 honlineclientservercom.h:53 honlineclientservercom.h:54 honlineclientservercom.h:55 honlineclientservercom.h:56 honlineclientservercom.h:57 honlineclientservercom.h:58 honlineclientservercom.h:59 honlineclientservercom.h:60 honlineclientservercom.h:61 honlineclientservercom.h:62 honlineclientservercom.h:63 honlineclientservercom.h:64 honlineclientservercom.h:65 honlineclientservercom.h:66 honlineclientservercom.h:67 honlineclientservercom.h:68 honlineclientservercom.h:69 honlineclientservercom.h:70 honlineclientservercom.h:71 honlineclientservercom.h:72 honlineclientservercom.h:73