18#ifndef NetworkThread_h__
19#define NetworkThread_h__
27#include <boost/asio/ip/tcp.hpp>
35using boost::asio::ip::tcp;
37template<
class SocketType>
85 virtual void AddSocket(std::shared_ptr<SocketType> sock)
107 for (std::shared_ptr<SocketType> sock :
_newSockets)
151 this->SocketRemoved(sock);
153 --this->_connections;
#define TC_LOG_DEBUG(filterType__,...)
virtual void SocketRemoved(std::shared_ptr< SocketType >)
int32 GetConnectionCount() const
virtual void SocketAdded(std::shared_ptr< SocketType >)
tcp::socket _acceptSocket
tcp::socket * GetSocketForAccept()
virtual void AddSocket(std::shared_ptr< SocketType > sock)
std::mutex _newSocketsLock
Trinity::Asio::DeadlineTimer _updateTimer
Trinity::Asio::IoContext _ioContext
std::vector< std::shared_ptr< SocketType > > SocketContainer
std::atomic< bool > _stopped
SocketContainer _newSockets
std::atomic< int32 > _connections