11#include "GameNetworkingSockets/steam/steamnetworkingtypes.h"
14class ISteamNetworkingSockets;
void DrawNetworkDebugInfo()
draw imgui network debug information
Definition basemultiplayerserver.cc:187
void PollConnectionChanges()
Definition basemultiplayerserver.cc:468
virtual void OnFrame()
Called every "frame".
Definition basemultiplayerserver.cc:386
void SyncAll()
Checks for connection changes, polls messages and calls OnFrame/OnTick.
Definition basemultiplayerserver.cc:395
void OnNetConnectionStatusChanged(SteamNetConnectionStatusChangedCallback_t *info)
Used internally by GameNetworkingSockets at connection status changes.
Definition basemultiplayerserver.cc:245
virtual void OnMessageReceived(ClientConnection *connection, Timing::Time recvTime, byte *data, size_t size)
Called when a message has been received from a client.
Definition basemultiplayerserver.cc:236
void SetTickInterval(Timing::Time interval)
Sets the interval (seconds) between ticks.
Definition basemultiplayerserver.h:110
Timing::Time pollGroupIntervals[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:82
Timing::Timer pollGroupTimers[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:81
virtual void Close()
close the server
Definition basemultiplayerserver.cc:115
void AddClientConnection(ClientConnection *connection)
add a client connection (called by the listener thread)
Definition basemultiplayerserver.cc:142
void Broadcast(void *buf, int size)
broadcast message to all clients
Definition basemultiplayerserver.cc:152
void PollIncomingMessages()
Definition basemultiplayerserver.cc:421
HSteamNetPollGroup pollGroups[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:80
void SetClientGroupPollInterval(ClientGroup group, Timing::Time msBetweenTicks)
bool isOpen
Definition basemultiplayerserver.h:75
Util::HashTable< HSteamNetConnection, ClientConnection *, 128 > clientConnections
Definition basemultiplayerserver.h:76
Timing::Time GetTickInterval() const
Returns the interval between ticks, in seconds.
Definition basemultiplayerserver.h:101
Timing::Timer tickTimer
Definition basemultiplayerserver.h:84
SizeT maxMessagesPerFrame
Definition basemultiplayerserver.h:65
friend ClientConnection
Definition basemultiplayerserver.h:68
virtual bool OnClientIsConnecting(ClientConnection *connection)
Called when client is trying to connect. Override and return true if the connection should be accepte...
Definition basemultiplayerserver.cc:208
ISteamNetworkingSockets * netInterface
Definition basemultiplayerserver.h:78
virtual void OnClientConnected(ClientConnection *connection)
Called when client has successfully connected to the server.
Definition basemultiplayerserver.cc:218
BaseMultiplayerServer()
constructor
Definition basemultiplayerserver.cc:43
bool IsOpen() const
return true if server is open
Definition basemultiplayerserver.h:92
virtual void OnClientDisconnected(ClientConnection *connection)
Called when client has disconnected from the server.
Definition basemultiplayerserver.cc:227
virtual ~BaseMultiplayerServer()
destructor
Definition basemultiplayerserver.cc:57
virtual bool Open()
open the server
Definition basemultiplayerserver.cc:66
Timing::Time tickInterval
Definition basemultiplayerserver.h:85
HSteamListenSocket listenSock
Definition basemultiplayerserver.h:79
virtual void OnTick()
Called every tickInterval seconds, after OnFrame.
Definition basemultiplayerserver.cc:377
Organizes key/value pairs by a hash code.
Definition hashtable.h:42
Definition basemultiplayerclient.cc:25
ClientGroup
Clients can be bucketet into client groups that can be polled at differing rates.
Definition clientconnection.h:23
@ NumClientGroups
Definition clientconnection.h:28
double Time
the time datatype
Definition time.h:18
int SizeT
Definition types.h:42