olcPixelGameEngine v2.28
The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects
Loading...
Searching...
No Matches
olc::net::server_interface< T > Class Template Reference

#include <olcPGEX_Network.h>

Public Member Functions

 server_interface (uint16_t port)
 
virtual ~server_interface ()
 
bool Start ()
 
void Stop ()
 
void WaitForClientConnection ()
 
void MessageClient (std::shared_ptr< connection< T > > client, const message< T > &msg)
 
void MessageAllClients (const message< T > &msg, std::shared_ptr< connection< T > > pIgnoreClient=nullptr)
 
void Update (size_t nMaxMessages=-1, bool bWait=false)
 
virtual void OnClientValidated (std::shared_ptr< connection< T > > client)
 

Protected Member Functions

virtual bool OnClientConnect (std::shared_ptr< connection< T > > client)
 
virtual void OnClientDisconnect (std::shared_ptr< connection< T > > client)
 
virtual void OnMessage (std::shared_ptr< connection< T > > client, message< T > &msg)
 

Protected Attributes

tsqueue< owned_message< T > > m_qMessagesIn
 
std::deque< std::shared_ptr< connection< T > > > m_deqConnections
 
asio::io_context m_asioContext
 
std::thread m_threadContext
 
asio::ip::tcp::acceptor m_asioAcceptor
 
uint32_t nIDCounter = 10000
 

Constructor & Destructor Documentation

◆ server_interface()

template<typename T >
olc::net::server_interface< T >::server_interface ( uint16_t port)
inline

◆ ~server_interface()

template<typename T >
virtual olc::net::server_interface< T >::~server_interface ( )
inlinevirtual

Member Function Documentation

◆ MessageAllClients()

template<typename T >
void olc::net::server_interface< T >::MessageAllClients ( const message< T > & msg,
std::shared_ptr< connection< T > > pIgnoreClient = nullptr )
inline

◆ MessageClient()

template<typename T >
void olc::net::server_interface< T >::MessageClient ( std::shared_ptr< connection< T > > client,
const message< T > & msg )
inline

◆ OnClientConnect()

template<typename T >
virtual bool olc::net::server_interface< T >::OnClientConnect ( std::shared_ptr< connection< T > > client)
inlineprotectedvirtual

◆ OnClientDisconnect()

template<typename T >
virtual void olc::net::server_interface< T >::OnClientDisconnect ( std::shared_ptr< connection< T > > client)
inlineprotectedvirtual

◆ OnClientValidated()

template<typename T >
virtual void olc::net::server_interface< T >::OnClientValidated ( std::shared_ptr< connection< T > > client)
inlinevirtual

◆ OnMessage()

template<typename T >
virtual void olc::net::server_interface< T >::OnMessage ( std::shared_ptr< connection< T > > client,
message< T > & msg )
inlineprotectedvirtual

◆ Start()

template<typename T >
bool olc::net::server_interface< T >::Start ( )
inline

◆ Stop()

template<typename T >
void olc::net::server_interface< T >::Stop ( )
inline

◆ Update()

template<typename T >
void olc::net::server_interface< T >::Update ( size_t nMaxMessages = -1,
bool bWait = false )
inline

◆ WaitForClientConnection()

template<typename T >
void olc::net::server_interface< T >::WaitForClientConnection ( )
inline

Member Data Documentation

◆ m_asioAcceptor

template<typename T >
asio::ip::tcp::acceptor olc::net::server_interface< T >::m_asioAcceptor
protected

◆ m_asioContext

template<typename T >
asio::io_context olc::net::server_interface< T >::m_asioContext
protected

◆ m_deqConnections

template<typename T >
std::deque<std::shared_ptr<connection<T> > > olc::net::server_interface< T >::m_deqConnections
protected

◆ m_qMessagesIn

template<typename T >
tsqueue<owned_message<T> > olc::net::server_interface< T >::m_qMessagesIn
protected

◆ m_threadContext

template<typename T >
std::thread olc::net::server_interface< T >::m_threadContext
protected

◆ nIDCounter

template<typename T >
uint32_t olc::net::server_interface< T >::nIDCounter = 10000
protected

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