Rev | Line | |
---|
[9252] | 1 | /*! |
---|
| 2 | * @file peer_info.h |
---|
| 3 | * implementation a peer info |
---|
| 4 | */ |
---|
| 5 | |
---|
| 6 | #ifndef _PEER_INFO_H |
---|
| 7 | #define _PEER_INFO_H |
---|
| 8 | |
---|
| 9 | #include "server_socket.h" |
---|
| 10 | #include "handshake.h" |
---|
[9275] | 11 | #include "monitor/connection_monitor.h" |
---|
[9252] | 12 | |
---|
[9286] | 13 | #include <string> |
---|
[9252] | 14 | |
---|
| 15 | //!< this structure contains informations about the network node |
---|
| 16 | class PeerInfo |
---|
| 17 | { |
---|
| 18 | public: |
---|
| 19 | PeerInfo(); |
---|
| 20 | |
---|
| 21 | void clear(); |
---|
| 22 | |
---|
| 23 | |
---|
[9494] | 24 | inline bool isMasterServer() const { return this->nodeType == NET_MASTER_SERVER; } |
---|
| 25 | inline bool isProxyServerActive() const { return this->nodeType == NET_PROXY_SERVER_ACTIVE; } |
---|
| 26 | inline bool isProxyServerActivePassive() const { return this->nodeType == NET_PROXY_SERVER_PASSIVE; } |
---|
| 27 | inline bool isClient() const { return this->nodeType == NET_CLIENT; } |
---|
[9282] | 28 | |
---|
[9494] | 29 | const std::string& getNodeTypeString() const; |
---|
| 30 | static const std::string& nodeTypeToString(unsigned int type); |
---|
[9282] | 31 | |
---|
[9286] | 32 | |
---|
[9494] | 33 | |
---|
[9252] | 34 | public: |
---|
[9396] | 35 | int userId; //!< id of this network node |
---|
| 36 | int nodeType; //!< type of this network node |
---|
| 37 | IP ip; //!> the ip address of this network node |
---|
[9290] | 38 | |
---|
[9396] | 39 | NetworkSocket * socket; //!< socket connecting to this node |
---|
| 40 | Handshake * handshake; //!< the handshake object, active on connection setup |
---|
| 41 | ConnectionMonitor * connectionMonitor; //!< ConnectionMonitor monitoring the current network traffic |
---|
[9290] | 42 | |
---|
[9396] | 43 | int lastAckedState; //!< last acked state synchronized state |
---|
| 44 | int lastRecvedState; //!< last received state |
---|
[9494] | 45 | |
---|
| 46 | static const std::string nodeNames[]; |
---|
| 47 | |
---|
[9252] | 48 | }; |
---|
| 49 | |
---|
| 50 | |
---|
| 51 | |
---|
| 52 | #endif /* _PEER_INFO_H */ |
---|
Note: See
TracBrowser
for help on using the repository browser.