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
59 uint64_t GetUserData() const;
60
61 void SetUserData(uint64_t);
62protected:
65 HSteamNetConnection connectionId = k_HSteamNetConnection_Invalid;
66 uint64_t userData;
67};
68
69//--------------------------------------------------------------------------
72inline uint32_t
74{
75 return this->connectionId;
76}
77
78//--------------------------------------------------------------------------
81inline ClientGroup
83{
84 return this->group;
85}
86
87//--------------------------------------------------------------------------
90inline uint64_t
92{
93 return this->userData;
94}
95
96inline void
98{
99 this->userData = data;
100}
101
102} // namespace Multiplayer
Definition basemultiplayerserver.h:20
ClientGroup GetClientGroup() const
Definition clientconnection.h:82
ClientConnection()
constructor
Definition clientconnection.cc:17
Timing::Time GetCurrentPing() const
Gets the estimated current packet roundtrip time (server->client->server).
Definition clientconnection.cc:74
void Initialize(BaseMultiplayerServer *server, HSteamNetConnection connectionId)
Definition clientconnection.cc:34
virtual void Shutdown()
shutdown the connection
Definition clientconnection.cc:55
uint64_t GetUserData() const
Definition clientconnection.h:91
void SetClientGroup(ClientGroup group)
Definition clientconnection.cc:65
void SetUserData(uint64_t)
Definition clientconnection.h:97
BaseMultiplayerServer * server
Definition clientconnection.h:63
HSteamNetConnection connectionId
Definition clientconnection.h:65
uint32_t GetConnectionId() const
Definition clientconnection.h:73
ClientGroup group
Definition clientconnection.h:64
virtual ~ClientConnection()
destructor
Definition clientconnection.cc:25
uint64_t userData
Definition clientconnection.h:66
bool IsConnected() const
get the connection status
Definition clientconnection.cc:46
Game::EditorState.
Definition graphicsmanager.h:64
Definition basemultiplayerclient.cc:24
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.