Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/ODE/src/lib/network/peer_info.h @ 10767

Last change on this file since 10767 was 10114, checked in by patrick, 18 years ago

merged network back to trunk

File size: 1.7 KB
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
16class 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.