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

#include <basemultiplayerserver.h>

Detailed Description

Inherited by Multiplayer::StandardMultiplayerServer.

Public Member Functions

 BaseMultiplayerServer ()
 constructor
 
virtual ~BaseMultiplayerServer ()
 destructor
 
virtual bool Open ()
 open the server
 
virtual void Close ()
 close the server
 
bool IsOpen () const
 return true if server is open
 
void Broadcast (void *buf, int size)
 broadcast message to all clients
 
virtual bool OnClientIsConnecting (ClientConnection *connection)
 
virtual void OnClientConnected (ClientConnection *connection)
 
virtual void OnClientDisconnected (ClientConnection *connection)
 
virtual void OnMessageReceived (Timing::Time recvTime, uint32_t connectionId, byte *data, size_t size)
 
void SetClientGroupPollInterval (ClientGroup group, Timing::Time msBetweenTicks)
 
void SyncAll ()
 
void OnNetConnectionStatusChanged (SteamNetConnectionStatusChangedCallback_t *info)
 
Timing::Time GetSendTickInterval () const
 

Public Attributes

SizeT maxMessagesPerFrame = 1024
 

Protected Member Functions

void AddClientConnection (ClientConnection *connection)
 add a client connection (called by the listener thread)
 
void PollIncomingMessages ()
 
void PollConnectionChanges ()
 
void PushPendingMessages ()
 

Protected Attributes

friend ClientConnection
 
bool isOpen
 
Util::HashTable< HSteamNetConnection, ClientConnection *, 128 > clientConnections
 
ISteamNetworkingSockets * netInterface
 
HSteamListenSocket listenSock
 
HSteamNetPollGroup pollGroups [(int) ClientGroup::NumClientGroups]
 
Timing::Timer pollGroupTimers [(int) ClientGroup::NumClientGroups]
 
Timing::Time pollGroupIntervals [(int) ClientGroup::NumClientGroups]
 
Timing::Timer sendTimer
 
Timing::Time sendTickInterval
 

Constructor & Destructor Documentation

◆ BaseMultiplayerServer()

Multiplayer::BaseMultiplayerServer::BaseMultiplayerServer ( )

constructor

◆ ~BaseMultiplayerServer()

Multiplayer::BaseMultiplayerServer::~BaseMultiplayerServer ( )
virtual

destructor

Member Function Documentation

◆ AddClientConnection()

void Multiplayer::BaseMultiplayerServer::AddClientConnection ( ClientConnection * connection)
protected

add a client connection (called by the listener thread)

◆ Broadcast()

void Multiplayer::BaseMultiplayerServer::Broadcast ( void * buf,
int size )

broadcast message to all clients

◆ Close()

void Multiplayer::BaseMultiplayerServer::Close ( )
virtual

close the server

Reimplemented in Multiplayer::StandardMultiplayerServer.

◆ GetSendTickInterval()

Timing::Time Multiplayer::BaseMultiplayerServer::GetSendTickInterval ( ) const
inline

◆ IsOpen()

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

return true if server is open

◆ OnClientConnected()

void Multiplayer::BaseMultiplayerServer::OnClientConnected ( ClientConnection * connection)
virtual

◆ OnClientDisconnected()

void Multiplayer::BaseMultiplayerServer::OnClientDisconnected ( ClientConnection * connection)
virtual

◆ OnClientIsConnecting()

bool Multiplayer::BaseMultiplayerServer::OnClientIsConnecting ( ClientConnection * connection)
virtual

◆ OnMessageReceived()

void Multiplayer::BaseMultiplayerServer::OnMessageReceived ( Timing::Time recvTime,
uint32_t connectionId,
byte * data,
size_t size )
virtual

◆ OnNetConnectionStatusChanged()

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

◆ Open()

bool Multiplayer::BaseMultiplayerServer::Open ( )
virtual

open the server

Reimplemented in Multiplayer::StandardMultiplayerServer.

◆ PollConnectionChanges()

void Multiplayer::BaseMultiplayerServer::PollConnectionChanges ( )
protected

◆ PollIncomingMessages()

void Multiplayer::BaseMultiplayerServer::PollIncomingMessages ( )
protected

◆ PushPendingMessages()

void Multiplayer::BaseMultiplayerServer::PushPendingMessages ( )
protected

◆ SetClientGroupPollInterval()

void Multiplayer::BaseMultiplayerServer::SetClientGroupPollInterval ( ClientGroup group,
Timing::Time msBetweenTicks )

◆ SyncAll()

void Multiplayer::BaseMultiplayerServer::SyncAll ( )

Member Data Documentation

◆ ClientConnection

friend Multiplayer::BaseMultiplayerServer::ClientConnection
protected

◆ clientConnections

Util::HashTable<HSteamNetConnection, ClientConnection*, 128> Multiplayer::BaseMultiplayerServer::clientConnections
protected

◆ isOpen

bool Multiplayer::BaseMultiplayerServer::isOpen
protected

◆ listenSock

HSteamListenSocket Multiplayer::BaseMultiplayerServer::listenSock
protected

◆ maxMessagesPerFrame

SizeT Multiplayer::BaseMultiplayerServer::maxMessagesPerFrame = 1024

◆ netInterface

ISteamNetworkingSockets* Multiplayer::BaseMultiplayerServer::netInterface
protected

◆ pollGroupIntervals

Timing::Time Multiplayer::BaseMultiplayerServer::pollGroupIntervals[(int) ClientGroup::NumClientGroups]
protected

◆ pollGroups

HSteamNetPollGroup Multiplayer::BaseMultiplayerServer::pollGroups[(int) ClientGroup::NumClientGroups]
protected

◆ pollGroupTimers

Timing::Timer Multiplayer::BaseMultiplayerServer::pollGroupTimers[(int) ClientGroup::NumClientGroups]
protected

◆ sendTickInterval

Timing::Time Multiplayer::BaseMultiplayerServer::sendTickInterval
protected

◆ sendTimer

Timing::Timer Multiplayer::BaseMultiplayerServer::sendTimer
protected

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