Nebula
Loading...
Searching...
No Matches
Multiplayer::BaseMultiplayerClient Class Reference

#include <basemultiplayerclient.h>

Detailed Description

Inherited by Multiplayer::StandardMultiplayerClient.

Public Member Functions

 BaseMultiplayerClient ()
 constructor
 
virtual ~BaseMultiplayerClient ()
 destructor
 
virtual bool Open ()
 open the client
 
virtual void Close ()
 close the client
 
bool IsOpen () const
 return true if client is open
 
bool TryConnect ()
 
virtual void OnIsConnecting ()
 
virtual void OnConnected ()
 
virtual void OnDisconnected ()
 
virtual void OnMessageReceived (SteamNetworkingMessage_t *msg)
 
Timing::Time GetCurrentPing () const
 Gets the estimated current packet roundtrip time (client->server->client).
 
ConnectionStatus GetConnectionStatus () const
 
void SyncAll ()
 
void OnNetConnectionStatusChanged (SteamNetConnectionStatusChangedCallback_t *info)
 

Static Public Attributes

static constexpr SizeT MaxMessagesPerFrame = 1024
 

Protected Member Functions

void PollIncomingMessages ()
 
void PollConnectionChanges ()
 
void PushPendingMessages ()
 

Protected Attributes

double ping
 
bool isOpen
 
Timing::Timer timeoutTimer
 
ConnectionStatus connectionStatus = ConnectionStatus::Disconnected
 
HSteamNetConnection connectionId = k_HSteamNetConnection_Invalid
 
ISteamNetworkingSockets * netInterface
 

Constructor & Destructor Documentation

◆ BaseMultiplayerClient()

Multiplayer::BaseMultiplayerClient::BaseMultiplayerClient ( )

constructor

◆ ~BaseMultiplayerClient()

Multiplayer::BaseMultiplayerClient::~BaseMultiplayerClient ( )
virtual

destructor

Member Function Documentation

◆ Close()

void Multiplayer::BaseMultiplayerClient::Close ( )
virtual

close the client

Reimplemented in Multiplayer::StandardMultiplayerClient.

◆ GetConnectionStatus()

ConnectionStatus Multiplayer::BaseMultiplayerClient::GetConnectionStatus ( ) const

◆ GetCurrentPing()

Timing::Time Multiplayer::BaseMultiplayerClient::GetCurrentPing ( ) const
inline

Gets the estimated current packet roundtrip time (client->server->client).

◆ IsOpen()

bool Multiplayer::BaseMultiplayerClient::IsOpen ( ) const
inline

return true if client is open

◆ OnConnected()

void Multiplayer::BaseMultiplayerClient::OnConnected ( )
virtual

◆ OnDisconnected()

void Multiplayer::BaseMultiplayerClient::OnDisconnected ( )
virtual

◆ OnIsConnecting()

void Multiplayer::BaseMultiplayerClient::OnIsConnecting ( )
virtual

◆ OnMessageReceived()

void Multiplayer::BaseMultiplayerClient::OnMessageReceived ( SteamNetworkingMessage_t * msg)
virtual

◆ OnNetConnectionStatusChanged()

void Multiplayer::BaseMultiplayerClient::OnNetConnectionStatusChanged ( SteamNetConnectionStatusChangedCallback_t * info)

◆ Open()

bool Multiplayer::BaseMultiplayerClient::Open ( )
virtual

open the client

Reimplemented in Multiplayer::StandardMultiplayerClient.

◆ PollConnectionChanges()

void Multiplayer::BaseMultiplayerClient::PollConnectionChanges ( )
protected

◆ PollIncomingMessages()

void Multiplayer::BaseMultiplayerClient::PollIncomingMessages ( )
protected

◆ PushPendingMessages()

void Multiplayer::BaseMultiplayerClient::PushPendingMessages ( )
protected

TODO: do not make a new builder every time

◆ SyncAll()

void Multiplayer::BaseMultiplayerClient::SyncAll ( )

◆ TryConnect()

bool Multiplayer::BaseMultiplayerClient::TryConnect ( )

Member Data Documentation

◆ connectionId

HSteamNetConnection Multiplayer::BaseMultiplayerClient::connectionId = k_HSteamNetConnection_Invalid
protected

◆ connectionStatus

ConnectionStatus Multiplayer::BaseMultiplayerClient::connectionStatus = ConnectionStatus::Disconnected
protected

◆ isOpen

bool Multiplayer::BaseMultiplayerClient::isOpen
protected

◆ MaxMessagesPerFrame

SizeT Multiplayer::BaseMultiplayerClient::MaxMessagesPerFrame = 1024
staticconstexpr

◆ netInterface

ISteamNetworkingSockets* Multiplayer::BaseMultiplayerClient::netInterface
protected

◆ ping

double Multiplayer::BaseMultiplayerClient::ping
protected

◆ timeoutTimer

Timing::Timer Multiplayer::BaseMultiplayerClient::timeoutTimer
protected

The documentation for this class was generated from the following files: