![]() |
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 |
| void | AddSocket (std::shared_ptr< SocketType > &&sock) |
| Trinity::Asio::IoContext * | GetIoContext () |
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::Asio::DeadlineTimer | _updateTimer |
Definition at line 35 of file NetworkThread.h.
|
private |
Definition at line 159 of file NetworkThread.h.
|
inline |
Definition at line 38 of file NetworkThread.h.
|
delete |
|
delete |
|
inlinevirtual |
|
inlineprotected |
Definition at line 97 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_connections, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_newSockets, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_newSocketsLock, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_sockets, and Trinity::Net::NetworkThread< SocketType, DerivedThread >::SocketRemoved().
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().
|
inline |
Definition at line 83 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_connections, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_newSockets, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_newSocketsLock, and Trinity::Net::NetworkThread< SocketType, DerivedThread >::SocketAdded().
|
inline |
Definition at line 78 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_connections.
|
inline |
Definition at line 91 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_ioContext.
|
delete |
|
delete |
|
inlineprotected |
Definition at line 118 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_ioContext, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_newSockets, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_sockets, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_updateTimer, Trinity::Asio::IoContext::run(), TC_LOG_DEBUG, and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::Start().
|
inlineprotectedvirtual |
Reimplemented in WorldSocketThread.
Definition at line 94 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::AddSocket().
|
inlineprotectedvirtual |
Reimplemented in Trinity::Net::Http::HttpNetworkThread< SessionImpl >, and WorldSocketThread.
Definition at line 95 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::AddNewSockets().
|
inline |
Definition at line 61 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_thread, and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Run().
|
inline |
Definition at line 55 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_ioContext, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_stopped, and Trinity::Asio::IoContext::stop().
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::~NetworkThread().
|
inlineprotected |
Definition at line 131 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_sockets, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_stopped, Trinity::Net::NetworkThread< SocketType, DerivedThread >::_updateTimer, Trinity::Net::NetworkThread< SocketType, DerivedThread >::AddNewSockets(), Trinity::Containers::EraseIf(), and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::Run(), and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().
|
inline |
Definition at line 70 of file NetworkThread.h.
References Trinity::Net::NetworkThread< SocketType, DerivedThread >::_thread, and ASSERT.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::~NetworkThread().
|
private |
|
private |
|
private |
|
private |
Definition at line 168 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::AddNewSockets(), and Trinity::Net::NetworkThread< SocketType, DerivedThread >::AddSocket().
|
private |
|
private |
Definition at line 162 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::Stop(), and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().
|
private |
|
private |
Definition at line 172 of file NetworkThread.h.
Referenced by Trinity::Net::NetworkThread< SocketType, DerivedThread >::Run(), and Trinity::Net::NetworkThread< SocketType, DerivedThread >::Update().