Nebula
Loading...
Searching...
No Matches
clientconnection.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "GameNetworkingSockets/steam/steamnetworkingtypes.h"
11#include "timing/time.h"
12
13namespace Multiplayer
14{
15
17
18//--------------------------------------------------------------------------
30
31
32//--------------------------------------------------------------------------
36{
37public:
41 virtual ~ClientConnection();
43 void Initialize(BaseMultiplayerServer* server, HSteamNetConnection connectionId);
44
46 bool IsConnected() const;
48 virtual void Shutdown();
54 uint32_t GetConnectionId() const;
55
58
61
62 uint64_t GetUserData() const;
63
64 void SetUserData(uint64_t);
65protected:
68 HSteamNetConnection connectionId = k_HSteamNetConnection_Invalid;
69 uint64_t userData;
70};
71
72//--------------------------------------------------------------------------
75inline uint32_t
77{
78 return this->connectionId;
79}
80
81//--------------------------------------------------------------------------
84inline ClientGroup
86{
87 return this->group;
88}
89
90//--------------------------------------------------------------------------
93inline uint64_t
95{
96 return this->userData;
97}
98
99inline void
101{
102 this->userData = data;
103}
104
105} // namespace Multiplayer
Definition basemultiplayerserver.h:20
ClientGroup GetClientGroup() const
Definition clientconnection.h:85
ClientConnection()
constructor
Definition clientconnection.cc:18
Timing::Time GetCurrentPing() const
Gets the estimated current packet roundtrip time (server->client->server).
Definition clientconnection.cc:75
void Initialize(BaseMultiplayerServer *server, HSteamNetConnection connectionId)
Definition clientconnection.cc:35
virtual void Shutdown()
shutdown the connection
Definition clientconnection.cc:56
uint64_t GetUserData() const
Definition clientconnection.h:94
void SetClientGroup(ClientGroup group)
Definition clientconnection.cc:66
void SetUserData(uint64_t)
Definition clientconnection.h:100
BaseMultiplayerServer * server
Definition clientconnection.h:66
void DrawNetworkDebugInfo()
draw imgui network debug information
Definition clientconnection.cc:91
HSteamNetConnection connectionId
Definition clientconnection.h:68
uint32_t GetConnectionId() const
Definition clientconnection.h:76
ClientGroup group
Definition clientconnection.h:67
virtual ~ClientConnection()
destructor
Definition clientconnection.cc:26
uint64_t userData
Definition clientconnection.h:69
bool IsConnected() const
get the connection status
Definition clientconnection.cc:47
Game::EditorState.
Definition graphicsmanager.h:67
Definition basemultiplayerclient.cc:25
ClientGroup
Clients can be bucketet into client groups that can be polled at differing rates.
Definition clientconnection.h:23
@ Lobby
Definition clientconnection.h:25
@ NumClientGroups
Definition clientconnection.h:28
@ Monitoring
Definition clientconnection.h:27
@ DontCare
Definition clientconnection.h:24
double Time
the time datatype
Definition time.h:18
Typedefs for the Timing subsystem.