27 #include <boost/lockfree/queue.hpp> 75 bool Connect(
const CStr& server,
const u16 port,
ENetHost* enetClient);
91 void ProcessPolledMessages();
101 u32 GetLastReceivedTime()
const;
106 u32 GetMeanRTT()
const;
130 bool m_Connected =
false;
163 const CStr&
GetGUID()
const {
return m_GUID; }
164 void SetGUID(
const CStr& guid) { m_GUID = guid; }
172 u32 GetIPAddress()
const;
177 u32 GetLastReceivedTime()
const;
182 u32 GetMeanRTT()
const;
219 #endif // NETSESSION_H #define NONCOPYABLE(className)
Indicates that a class is noncopyable (usually due to const or reference members, or because the clas...
Definition: code_annotation.h:227
Manages states, events, actions and transitions between states.
Definition: FSM.h:168
CNetFileTransferer m_FileTransferer
Definition: NetSession.h:122
void Shutdown(int flags)
Definition: GameSetup.cpp:339
CStr m_GUID
Definition: NetSession.h:213
CNetFileTransferer & GetFileTransferer()
Definition: NetSession.h:204
struct _ENetHost ENetHost
Definition: NetClient.h:37
uint16_t u16
Definition: types.h:38
boost::lockfree::queue< ENetPacket * > m_OutgoingMessages
Definition: NetSession.h:127
CNetServerWorker & GetServer()
Definition: NetSession.h:161
constexpr u32 NETWORK_WARNING_TIMEOUT
Report the peer if we didn't receive a packet after this time (milliseconds).
Definition: NetSession.h:34
void SetHostID(u32 id)
Definition: NetSession.h:170
Interface for sessions to which messages can be sent.
Definition: NetSession.h:55
void SetUserName(const CStrW &name)
Definition: NetSession.h:167
NetDisconnectReason
Reasons sent by server to clients in disconnection messages.
Definition: NetHost.h:62
struct _ENetPeer ENetPeer
Definition: NetHost.h:30
CNetFileTransferer m_FileTransferer
Definition: NetSession.h:209
CStrW m_UserName
Definition: NetSession.h:214
CNetServerWorker & m_Server
Definition: NetSession.h:207
ENetHost * m_Host
Definition: NetSession.h:140
uint32_t u32
Definition: types.h:39
Various declarations shared by networking code.
CStr m_Password
Definition: NetSession.h:216
u32 GetHostID() const
Definition: NetSession.h:169
const CStrW & GetUserName() const
Definition: NetSession.h:166
ENetPeer * m_Peer
Definition: NetSession.h:211
virtual bool SendMessage(const CNetMessage *message)=0
u32 m_HostID
Definition: NetSession.h:215
std::atomic< bool > m_ShouldShutdown
Definition: NetSession.h:138
ENet connection statistics profiler table.
Definition: NetStats.h:38
The base class for all network messages exchanged within the game.
Definition: NetMessage.h:32
CNetFileTransferer & GetFileTransferer()
Definition: NetSession.h:108
Handles transferring files between clients and servers.
Definition: NetFileTransfer.h:75
std::atomic< u32 > m_MeanRTT
Definition: NetSession.h:134
Network client.
Definition: NetClient.h:59
std::atomic< bool > m_LoopRunning
Definition: NetSession.h:137
CNetStatsTable * m_Stats
Definition: NetSession.h:142
ENetPeer * m_Server
Definition: NetSession.h:141
const CStr & GetGUID() const
Definition: NetSession.h:163
virtual ~INetSession()
Definition: NetSession.h:58
std::atomic< u32 > m_LastReceivedTime
Definition: NetSession.h:133
boost::lockfree::queue< ENetEvent > m_IncomingMessages
Definition: NetSession.h:125
CNetClient & m_Client
Definition: NetSession.h:120
The client end of a network session.
Definition: NetSession.h:67
Network server worker thread.
Definition: NetServer.h:212
The server's end of a network session.
Definition: NetSession.h:154
void SetGUID(const CStr &guid)
Definition: NetSession.h:164