3 #ifndef SZA_UTIL_RTDSERVER_H
4 #define SZA_UTIL_RTDSERVER_H
16 #include "carma/szautil/Server.h"
18 #define REG_DATA_FN(fn) void (fn)(unsigned nByte, unsigned nEl, unsigned char* src, unsigned char* dest)
23 class NetMonitorFrame;
25 class RtdServer :
public sza::util::Server {
35 MonitoredReg(RegMapBlock* block,
unsigned char* srcPtr);
46 unsigned char* srcPtr_;
50 REG_DATA_FN(*convFn_);
54 unsigned pack(
unsigned char* destPtr);
58 static REG_DATA_FN(convertNone);
59 static REG_DATA_FN(convertHtons);
60 static REG_DATA_FN(convertHtonl);
68 public Server::ServerData
73 virtual ~ClientData();
75 RtdClientData clientData_;
77 void processMessage(RtdServer* server,
78 ServerConnection* client,
79 std::map<unsigned, RegMapBlock*>& regMap,
80 std::map<unsigned, unsigned char*>& srcPtrMap);
86 std::map<unsigned, MonitoredReg*> monitoredRegs_;
96 RtdServer(
bool spawnThread,
unsigned port, NetMonitorFrame* nmf);
97 RtdServer(
bool spawnThread,
unsigned port, NetMonitorFrame* nmf,
int fdRead);
102 virtual ~RtdServer();
106 std::map<unsigned, RegMapBlock*> registerBlockMap_;
107 std::map<unsigned, unsigned char*> srcPtrMap_;
109 NetMonitorFrame* nmf_;
111 RtdClientData clientData_;
114 void constructMapOfRegisters();
116 void checkForServerData();
117 void processClientData(ServerConnection* client);
119 void sendRegisterMap(ServerConnection* client);
120 void sendRegisterMap();
122 void sendAddRegAck(ServerConnection* client);
123 void sendRemRegAck(ServerConnection* client);
125 void sendDataRegisters();
126 void sendDataRegisters(ServerConnection* client);
131 void readClientData(ServerConnection* client);
132 void acceptClientAction(ServerConnection* conn);
141 #endif // End #ifndef SZA_UTIL_RTDSERVER_H
Tagged: Thu Mar 7 15:26:50 PST 2013.