1 #ifndef AliStorageEventManager_H
2 #define AliStorageEventManager_H
4 #include "AliESDEvent.h"
5 #include "AliStorageTypes.h"
19 class AliStorageEventManager
22 static AliStorageEventManager* GetEventManagerInstance();
24 void Send(std::vector<serverListStruct> list,storageSockets socket);
25 void Send(struct serverRequestStruct *request,storageSockets socket);
26 bool Send(struct clientRequestStruct *request,storageSockets socket,int timeout = -1);
27 void Send(AliESDEvent *event,storageSockets socket);
28 void Send(long message,storageSockets socket);
29 void Send(bool message,storageSockets socket);
30 void SendAsXml(AliESDEvent *event,storageSockets socket);
32 std::vector<serverListStruct> GetServerListVector(storageSockets socket);
33 AliESDEvent* GetEvent(storageSockets socket,int timeout=-1);
34 struct serverRequestStruct* GetServerStruct(storageSockets socket);
35 struct clientRequestStruct* GetClientStruct(storageSockets socket);
36 long GetLong(storageSockets socket);
37 bool GetBool(storageSockets socket);
40 bool CreateSocket(storageSockets socket);
42 AliStorageEventManager();
43 ~AliStorageEventManager();
45 static AliStorageEventManager *fManagerInstance;
47 std::string fStorageServer;
48 std::string fEventServer;
49 int fStorageServerPort;
50 int fStorageClientPort;
54 zmq::context_t *fContexts[7];
55 zmq::socket_t *fSockets[7];
57 AliStorageEventManager(const AliStorageEventManager&);
58 AliStorageEventManager& operator=(const AliStorageEventManager&);