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

#include <olcPGEX_Network.h>

Inheritance diagram for olc::net::connection< T >:

Public Types

enum class  owner { server , client }
 

Public Member Functions

 connection (owner parent, asio::io_context &asioContext, asio::ip::tcp::socket socket, tsqueue< owned_message< T > > &qIn)
 
virtual ~connection ()
 
uint32_t GetID () const
 
void ConnectToClient (olc::net::server_interface< T > *server, uint32_t uid=0)
 
void ConnectToServer (const asio::ip::tcp::resolver::results_type &endpoints)
 
void Disconnect ()
 
bool IsConnected () const
 
void StartListening ()
 
void Send (const message< T > &msg)
 

Protected Attributes

asio::ip::tcp::socket m_socket
 
asio::io_context & m_asioContext
 
tsqueue< message< T > > m_qMessagesOut
 
tsqueue< owned_message< T > > & m_qMessagesIn
 
message< Tm_msgTemporaryIn
 
owner m_nOwnerType = owner::server
 
uint64_t m_nHandshakeOut = 0
 
uint64_t m_nHandshakeIn = 0
 
uint64_t m_nHandshakeCheck = 0
 
bool m_bValidHandshake = false
 
bool m_bConnectionEstablished = false
 
uint32_t id = 0
 

Member Enumeration Documentation

◆ owner

template<typename T >
enum class olc::net::connection::owner
strong
Enumerator
server 
client 

Constructor & Destructor Documentation

◆ connection()

template<typename T >
olc::net::connection< T >::connection ( owner parent,
asio::io_context & asioContext,
asio::ip::tcp::socket socket,
tsqueue< owned_message< T > > & qIn )
inline

◆ ~connection()

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

Member Function Documentation

◆ ConnectToClient()

template<typename T >
void olc::net::connection< T >::ConnectToClient ( olc::net::server_interface< T > * server,
uint32_t uid = 0 )
inline

◆ ConnectToServer()

template<typename T >
void olc::net::connection< T >::ConnectToServer ( const asio::ip::tcp::resolver::results_type & endpoints)
inline

◆ Disconnect()

template<typename T >
void olc::net::connection< T >::Disconnect ( )
inline

◆ GetID()

template<typename T >
uint32_t olc::net::connection< T >::GetID ( ) const
inline

◆ IsConnected()

template<typename T >
bool olc::net::connection< T >::IsConnected ( ) const
inline

◆ Send()

template<typename T >
void olc::net::connection< T >::Send ( const message< T > & msg)
inline

◆ StartListening()

template<typename T >
void olc::net::connection< T >::StartListening ( )
inline

Member Data Documentation

◆ id

template<typename T >
uint32_t olc::net::connection< T >::id = 0
protected

◆ m_asioContext

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

◆ m_bConnectionEstablished

template<typename T >
bool olc::net::connection< T >::m_bConnectionEstablished = false
protected

◆ m_bValidHandshake

template<typename T >
bool olc::net::connection< T >::m_bValidHandshake = false
protected

◆ m_msgTemporaryIn

template<typename T >
message<T> olc::net::connection< T >::m_msgTemporaryIn
protected

◆ m_nHandshakeCheck

template<typename T >
uint64_t olc::net::connection< T >::m_nHandshakeCheck = 0
protected

◆ m_nHandshakeIn

template<typename T >
uint64_t olc::net::connection< T >::m_nHandshakeIn = 0
protected

◆ m_nHandshakeOut

template<typename T >
uint64_t olc::net::connection< T >::m_nHandshakeOut = 0
protected

◆ m_nOwnerType

template<typename T >
owner olc::net::connection< T >::m_nOwnerType = owner::server
protected

◆ m_qMessagesIn

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

◆ m_qMessagesOut

template<typename T >
tsqueue<message<T> > olc::net::connection< T >::m_qMessagesOut
protected

◆ m_socket

template<typename T >
asio::ip::tcp::socket olc::net::connection< T >::m_socket
protected

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