![]() |
TrinityCore
|
#include <NetworkThread.h>
Public Member Functions | |
| NetworkThread () | |
| NetworkThread (NetworkThread const &)=delete | |
| NetworkThread (NetworkThread &&)=delete | |
| NetworkThread & | operator= (NetworkThread const &)=delete |
| NetworkThread & | operator= (NetworkThread &&)=delete |
| virtual | ~NetworkThread () |
| void | Stop () |
| bool | Start () |
| void | Wait () |
| int32 | GetConnectionCount () const |
| virtual void | AddSocket (std::shared_ptr< SocketType > sock) |
| Trinity::Net::IoContextTcpSocket * | GetSocketForAccept () |
Protected Member Functions | |
| virtual void | SocketAdded (std::shared_ptr< SocketType > const &) |
| virtual void | SocketRemoved (std::shared_ptr< SocketType > const &) |
| void | AddNewSockets () |
| void | Run () |
| void | Update () |
Private Types | |
| typedef std::vector< std::shared_ptr< SocketType > > | SocketContainer |
Private Attributes | |
| std::atomic< int32 > | _connections |
| std::atomic< bool > | _stopped |
| std::unique_ptr< std::thread > | _thread |
| SocketContainer | _sockets |
| std::mutex | _newSocketsLock |
| SocketContainer | _newSockets |
| Trinity::Asio::IoContext | _ioContext |
| Trinity::Net::IoContextTcpSocket | _acceptSocket |
| Trinity::Asio::DeadlineTimer | _updateTimer |
Definition at line 40 of file NetworkThread.h.
|
private |
Definition at line 164 of file NetworkThread.h.
|
inline |
Definition at line 43 of file NetworkThread.h.
|
delete |
|
delete |
|
inlinevirtual |
Definition at line 53 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_thread, Trinity::Net::NetworkThread< SocketType >::Stop(), and Trinity::Net::NetworkThread< SocketType >::Wait().
|
inlineprotected |
Definition at line 102 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_connections, Trinity::Net::NetworkThread< SocketType >::_newSockets, Trinity::Net::NetworkThread< SocketType >::_newSocketsLock, Trinity::Net::NetworkThread< SocketType >::_sockets, and Trinity::Net::NetworkThread< SocketType >::SocketRemoved().
Referenced by Trinity::Net::NetworkThread< SocketType >::Update().
|
inlinevirtual |
|
inline |
Definition at line 83 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_connections.
|
inline |
Definition at line 96 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_acceptSocket.
|
delete |
|
delete |
|
inlineprotected |
Definition at line 123 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_ioContext, Trinity::Net::NetworkThread< SocketType >::_newSockets, Trinity::Net::NetworkThread< SocketType >::_sockets, Trinity::Net::NetworkThread< SocketType >::_updateTimer, Trinity::Asio::IoContext::run(), TC_LOG_DEBUG, and Trinity::Net::NetworkThread< SocketType >::Update().
Referenced by Trinity::Net::NetworkThread< SocketType >::Start().
|
inlineprotectedvirtual |
Reimplemented in WorldSocketThread.
Definition at line 99 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddSocket().
|
inlineprotectedvirtual |
Reimplemented in WorldSocketThread.
Definition at line 100 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddNewSockets().
|
inline |
Definition at line 66 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_thread, and Trinity::Net::NetworkThread< SocketType >::Run().
|
inline |
Definition at line 60 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_ioContext, Trinity::Net::NetworkThread< SocketType >::_stopped, and Trinity::Asio::IoContext::stop().
Referenced by Trinity::Net::NetworkThread< SocketType >::~NetworkThread().
|
inlineprotected |
Definition at line 136 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_sockets, Trinity::Net::NetworkThread< SocketType >::_stopped, Trinity::Net::NetworkThread< SocketType >::_updateTimer, Trinity::Net::NetworkThread< SocketType >::AddNewSockets(), Trinity::Containers::EraseIf(), and Trinity::Net::NetworkThread< SocketType >::Update().
Referenced by Trinity::Net::NetworkThread< SocketType >::Run(), and Trinity::Net::NetworkThread< SocketType >::Update().
|
inline |
Definition at line 75 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType >::_thread, and ASSERT.
Referenced by Trinity::Net::NetworkThread< SocketType >::~NetworkThread().
|
private |
Definition at line 177 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::GetSocketForAccept().
|
private |
Definition at line 166 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddNewSockets(), Trinity::Net::NetworkThread< SocketType >::AddSocket(), and Trinity::Net::NetworkThread< SocketType >::GetConnectionCount().
|
private |
Definition at line 176 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::Run(), and Trinity::Net::NetworkThread< SocketType >::Stop().
|
private |
Definition at line 174 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddNewSockets(), Trinity::Net::NetworkThread< SocketType >::AddSocket(), and Trinity::Net::NetworkThread< SocketType >::Run().
|
private |
Definition at line 173 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddNewSockets(), and Trinity::Net::NetworkThread< SocketType >::AddSocket().
|
private |
Definition at line 171 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::AddNewSockets(), Trinity::Net::NetworkThread< SocketType >::Run(), and Trinity::Net::NetworkThread< SocketType >::Update().
|
private |
Definition at line 167 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::Stop(), and Trinity::Net::NetworkThread< SocketType >::Update().
|
private |
Definition at line 169 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::Start(), Trinity::Net::NetworkThread< SocketType >::Wait(), and Trinity::Net::NetworkThread< SocketType >::~NetworkThread().
|
private |
Definition at line 178 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType >::Run(), and Trinity::Net::NetworkThread< SocketType >::Update().