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//--------------------------------------------------------------------------
41
42//--------------------------------------------------------------------------
46{
47public:
51 virtual ~ClientConnection();
53 void Initialize(BaseMultiplayerServer* server, HSteamNetConnection connectionId);
54
56 bool IsConnected() const;
58 virtual void Shutdown();
64 uint32_t GetConnectionId() const;
65
68
71
72 uint64_t GetUserData() const;
73
74 void SetUserData(uint64_t);
75protected:
78 HSteamNetConnection connectionId = k_HSteamNetConnection_Invalid;
79 uint64_t userData;
80};
81
82//--------------------------------------------------------------------------
85inline uint32_t
87{
88 return this->connectionId;
89}
90
91//--------------------------------------------------------------------------
94inline ClientGroup
96{
97 return this->group;
98}
99
100//--------------------------------------------------------------------------
103inline uint64_t
105{
106 return this->userData;
107}
108
109inline void
111{
112 this->userData = data;
113}
114
115} // namespace Multiplayer
Definition basemultiplayerserver.h:20
ClientGroup GetClientGroup() const
Definition clientconnection.h:95
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:104
void SetClientGroup(ClientGroup group)
Definition clientconnection.cc:66
void SetUserData(uint64_t)
Definition clientconnection.h:110
BaseMultiplayerServer * server
Definition clientconnection.h:76
void DrawNetworkDebugInfo()
draw imgui network debug information
Definition clientconnection.cc:91
HSteamNetConnection connectionId
Definition clientconnection.h:78
uint32_t GetConnectionId() const
Definition clientconnection.h:86
ClientGroup group
Definition clientconnection.h:77
virtual ~ClientConnection()
destructor
Definition clientconnection.cc:26
uint64_t userData
Definition clientconnection.h:79
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
@ GroupE
Definition clientconnection.h:34
@ NumClientGroups
Definition clientconnection.h:39
@ Monitoring
Definition clientconnection.h:27
@ GroupG
Definition clientconnection.h:36
@ DontCare
Definition clientconnection.h:24
@ GroupD
Definition clientconnection.h:33
@ GroupH
Definition clientconnection.h:37
@ GroupF
Definition clientconnection.h:35
@ GroupC
Definition clientconnection.h:32
@ GroupB
Definition clientconnection.h:31
@ GroupA
Definition clientconnection.h:30
double Time
the time datatype
Definition time.h:18
Typedefs for the Timing subsystem.