hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DataClientProxy.hpp
Go to the documentation of this file.
1 
16 #ifndef __HCE_DATA_CLIENT_PROXY_INCLUDED__
17 #define __HCE_DATA_CLIENT_PROXY_INCLUDED__
18 
19 #include <iostream>
20 #include <sstream>
21 
22 #include "Handler.hpp"
23 #include "DataNodeOptions.hpp"
24 
25 namespace HCE {
26  namespace handlers {
27 
29  public:
30  DataClientProxy(std::string name, zmq::context_t& ctx, const std::string& clientIdentity, std::string connectionString, int64_t startedAt,
31  unsigned char logPriority, const std::string& iniFile="");
32  virtual ~DataClientProxy();
33 
34  protected:
35  int initialize(void);
36  void deinitialize(void);
37  void* process(void);
38 
39  void handleExternalMessage(void);
40  void handleInternalMessage(void);
41  void handleRouteMessage(void);
42  void processControlMessage(zmsg& msg);
43  void processDataMessage(zmsg& msg);
44 
45  std::string processAdminCommands(std::string& command, std::string& parameters);
46  void rebuildDataClientSocket(void);
47  void heartbit(void);
48  void sendHeartbeat(void);
49  void externalConnectionRefresh(void);
51  std::string getPropertyInformation(void);
52 
58 
61 
63  std::vector<ClientWorkerItem> _clientsQueue;
64 
66  void setHeartbeatAt(int64_t heartbeatAt);
67  int64_t getHeartbeatAt(void);
68 
70  void setHeartbeatedAt(int64_t heartbeatedAt);
71  int64_t getHeartbeatedAt(void);
72 
74  void setStatRequests(unsigned int statRequests);
75  unsigned int getStatRequests(void);
76 
77  void setStatResponses(unsigned int statResponses);
78  unsigned int getStatResponses(void);
79  };
80 
81  }
82 }
83 
84 #endif /* __HCE_DATA_CLIENT_PROXY_INCLUDED__ */