11#include "GameNetworkingSockets/steam/steamnetworkingtypes.h"
14class ISteamNetworkingSockets;
void PollConnectionChanges()
Definition basemultiplayerserver.cc:469
virtual void OnFrame()
Called every "frame".
Definition basemultiplayerserver.cc:387
void SyncAll()
Checks for connection changes, polls messages and calls OnFrame/OnTick.
Definition basemultiplayerserver.cc:396
void OnNetConnectionStatusChanged(SteamNetConnectionStatusChangedCallback_t *info)
Used internally by GameNetworkingSockets at connection status changes.
Definition basemultiplayerserver.cc:246
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:237
void SetTickInterval(Timing::Time interval)
Sets the interval (seconds) between ticks.
Definition basemultiplayerserver.h:108
Timing::Time pollGroupIntervals[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:80
Timing::Timer pollGroupTimers[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:79
virtual void Close()
close the server
Definition basemultiplayerserver.cc:137
void AddClientConnection(ClientConnection *connection)
add a client connection (called by the listener thread)
Definition basemultiplayerserver.cc:164
void Broadcast(void *buf, int size)
broadcast message to all clients
Definition basemultiplayerserver.cc:174
void PollIncomingMessages()
Definition basemultiplayerserver.cc:422
HSteamNetPollGroup pollGroups[(int) ClientGroup::NumClientGroups]
Definition basemultiplayerserver.h:78
void SetClientGroupPollInterval(ClientGroup group, Timing::Time msBetweenTicks)
bool isOpen
Definition basemultiplayerserver.h:73
Util::HashTable< HSteamNetConnection, ClientConnection *, 128 > clientConnections
Definition basemultiplayerserver.h:74
Timing::Time GetTickInterval() const
Returns the interval between ticks, in seconds.
Definition basemultiplayerserver.h:99
Timing::Timer tickTimer
Definition basemultiplayerserver.h:82
SizeT maxMessagesPerFrame
Definition basemultiplayerserver.h:63
friend ClientConnection
Definition basemultiplayerserver.h:66
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:209
ISteamNetworkingSockets * netInterface
Definition basemultiplayerserver.h:76
virtual void OnClientConnected(ClientConnection *connection)
Called when client has successfully connected to the server.
Definition basemultiplayerserver.cc:219
BaseMultiplayerServer()
constructor
Definition basemultiplayerserver.cc:42
bool IsOpen() const
return true if server is open
Definition basemultiplayerserver.h:90
virtual void OnClientDisconnected(ClientConnection *connection)
Called when client has disconnected from the server.
Definition basemultiplayerserver.cc:228
virtual ~BaseMultiplayerServer()
destructor
Definition basemultiplayerserver.cc:56
virtual bool Open()
open the server
Definition basemultiplayerserver.cc:65
Timing::Time tickInterval
Definition basemultiplayerserver.h:83
HSteamListenSocket listenSock
Definition basemultiplayerserver.h:77
virtual void OnTick()
Called every tickInterval seconds, after OnFrame.
Definition basemultiplayerserver.cc:378
Organizes key/value pairs by a hash code.
Definition hashtable.h:42
Definition basemultiplayerclient.cc:24
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:40