Free Electron
EnetConnection.h
1 #ifndef __Enet_EnetConnection_h__
2 #define __Enet_EnetConnection_h__
3 
4 namespace fe
5 {
6 namespace ext
7 {
8 
9 class FE_DL_EXPORT EnetConnection : virtual public ConnectionI
10 {
11  public:
12  EnetConnection(void);
13 virtual ~EnetConnection(void);
14 
15 virtual bool connect(const bool asServer, const std::string &address,
16  const short port) override;
17 
18 virtual bool sendReliable(const std::vector<char> &message) override;
19 virtual bool sendReliable(const char *message, const int size) override;
20 
21 virtual bool sendUnreliable(const std::vector<char> &message) override;
22 virtual bool sendUnreliable(const char *message, const int size) override;
23 
24 virtual bool receiveBlocking(std::vector<char> &message) override;
25 virtual bool receiveNonblocking(std::vector<char> &message,
26  const std::uint_fast32_t msWait) override;
27 
28 virtual bool connected(void) override { return (m_numConnections > 0); }
29 virtual bool disconnect(void) override;
30 
31  private:
32  bool tryToConnectToServer(void);
33 
34  bool m_initialized;
35  int m_numConnections;
36  bool m_isServer;
37  ENetAddress m_address;
38  ENetHost* m_host;
39  ENetPeer* m_peer;
40 };
41 
42 } /* namespace ext */
43 } /* namespace fe */
44 
45 #endif /* __Enet_EnetConnection_h__ */
kernel
Definition: namespace.dox:3