TrinityCore
Loading...
Searching...
No Matches
Trinity::Net::AsyncAcceptor Class Reference

#include <AsyncAcceptor.h>

Public Member Functions

 AsyncAcceptor (Asio::IoContext &ioContext, std::string const &bindIp, uint16 port)
 
template<AcceptCallback Callback>
void AsyncAccept (Callback &&acceptCallback)
 
bool Bind ()
 
void Close ()
 
void SetSocketFactory (std::function< std::pair< IoContextTcpSocket *, uint32 >()> func)
 

Private Member Functions

std::pair< IoContextTcpSocket *, uint32DefeaultSocketFactory ()
 

Private Attributes

boost::asio::basic_socket_acceptor< boost::asio::ip::tcp, IoContextTcpSocket::executor_type > _acceptor
 
boost::asio::ip::tcp::endpoint _endpoint
 
IoContextTcpSocket _socket
 
std::atomic< bool > _closed
 
std::function< std::pair< IoContextTcpSocket *, uint32 >()> _socketFactory
 

Detailed Description

Definition at line 38 of file AsyncAcceptor.h.

Constructor & Destructor Documentation

◆ AsyncAcceptor()

Trinity::Net::AsyncAcceptor::AsyncAcceptor ( Asio::IoContext ioContext,
std::string const &  bindIp,
uint16  port 
)
inline

Definition at line 41 of file AsyncAcceptor.h.

Member Function Documentation

◆ AsyncAccept()

template<AcceptCallback Callback>
void Trinity::Net::AsyncAcceptor::AsyncAccept ( Callback &&  acceptCallback)
inline

Definition at line 48 of file AsyncAcceptor.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Bind()

bool Trinity::Net::AsyncAcceptor::Bind ( )
inline

Definition at line 75 of file AsyncAcceptor.h.

◆ Close()

void Trinity::Net::AsyncAcceptor::Close ( )
inline

Definition at line 111 of file AsyncAcceptor.h.

◆ DefeaultSocketFactory()

std::pair< IoContextTcpSocket *, uint32 > Trinity::Net::AsyncAcceptor::DefeaultSocketFactory ( )
inlineprivate

Definition at line 123 of file AsyncAcceptor.h.

◆ SetSocketFactory()

void Trinity::Net::AsyncAcceptor::SetSocketFactory ( std::function< std::pair< IoContextTcpSocket *, uint32 >()>  func)
inline

Definition at line 120 of file AsyncAcceptor.h.

Member Data Documentation

◆ _acceptor

boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, IoContextTcpSocket::executor_type> Trinity::Net::AsyncAcceptor::_acceptor
private

Definition at line 125 of file AsyncAcceptor.h.

◆ _closed

std::atomic<bool> Trinity::Net::AsyncAcceptor::_closed
private

Definition at line 128 of file AsyncAcceptor.h.

◆ _endpoint

boost::asio::ip::tcp::endpoint Trinity::Net::AsyncAcceptor::_endpoint
private

Definition at line 126 of file AsyncAcceptor.h.

◆ _socket

IoContextTcpSocket Trinity::Net::AsyncAcceptor::_socket
private

Definition at line 127 of file AsyncAcceptor.h.

◆ _socketFactory

std::function<std::pair<IoContextTcpSocket*, uint32>()> Trinity::Net::AsyncAcceptor::_socketFactory
private

Definition at line 129 of file AsyncAcceptor.h.


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