| Line | |
|---|
| 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" |
|---|
| 11 | #include "monitor/connection_monitor.h" |
|---|
| 12 | |
|---|
| 13 | #include <string> |
|---|
| 14 | |
|---|
| 15 | //!< this structure contains informations about the network node |
|---|
| 16 | class PeerInfo |
|---|
| 17 | { |
|---|
| 18 | public: |
|---|
| 19 | PeerInfo(); |
|---|
| 20 | |
|---|
| 21 | void clear(); |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 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; } |
|---|
| 28 | |
|---|
| 29 | const std::string& getNodeTypeString() const; |
|---|
| 30 | static const std::string& nodeTypeToString(unsigned int type); |
|---|
| 31 | |
|---|
| 32 | inline bool isLocal() { return this->bLocal; } |
|---|
| 33 | |
|---|
| 34 | |
|---|
| 35 | public: |
|---|
| 36 | int userId; //!< id of this network node |
|---|
| 37 | int nodeType; //!< type of this network node |
|---|
| 38 | IP ip; //!< the ip address of this network node |
|---|
| 39 | |
|---|
| 40 | NetworkSocket * socket; //!< socket connecting to this node |
|---|
| 41 | Handshake * handshake; //!< the handshake object, active on connection setup |
|---|
| 42 | ConnectionMonitor * connectionMonitor; //!< ConnectionMonitor monitoring the current network traffic |
|---|
| 43 | |
|---|
| 44 | int lastAckedState; //!< last acked state synchronized state |
|---|
| 45 | int lastRecvedState; //!< last received state |
|---|
| 46 | |
|---|
| 47 | bool bLocal; //!< true if this node is localy connected to this node |
|---|
| 48 | |
|---|
| 49 | static const std::string nodeNames[]; |
|---|
| 50 | |
|---|
| 51 | }; |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | #endif /* _PEER_INFO_H */ |
|---|
Note: See
TracBrowser
for help on using the repository browser.