#include <SocketMgr.hpp>
◆ network_thread_map
template<class SocketType , class NetworkThreadType >
◆ NetworkThreadPtr
template<class SocketType , class NetworkThreadType >
◆ ~SocketMgr()
template<class SocketType , class NetworkThreadType >
◆ get_new_socket()
template<class SocketType , class NetworkThreadType >
◆ get_thread_map()
template<class SocketType , class NetworkThreadType >
◆ GetNetworkThreadCount()
template<class SocketType , class NetworkThreadType >
◆ on_socket_open()
template<class SocketType , class NetworkThreadType >
std::shared_ptr< SocketType > Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::on_socket_open |
( |
std::shared_ptr< tcp::socket > const & |
socket, |
|
|
uint32_t |
thread_index |
|
) |
| |
|
inline |
◆ SelectThreadWithMinConnections()
template<class SocketType , class NetworkThreadType >
◆ StartNetworkThreads()
template<class SocketType , class NetworkThreadType >
◆ stop_network()
template<class SocketType , class NetworkThreadType >
Stops network threads and clears the thread map.
Reimplemented in Horizon::Networking::AcceptSocketMgr< SocketType, NetworkThreadType >, Horizon::Networking::AcceptSocketMgr< AuthSocket, AuthNetworkThread >, Horizon::Networking::AcceptSocketMgr< CharSocket, CharNetworkThread >, Horizon::Networking::AcceptSocketMgr< ZoneSocket, ZoneNetworkThread >, and Horizon::Networking::ConnectSocketMgr< SocketType, NetworkThreadType >.
86 {
87
90 thr->finalize();
91
92 while (thr->is_finalizing())
93 {
94 std::this_thread::sleep_for(std::chrono::milliseconds(100));
95 };
96 thr->join();
98 }
99
100 return true;
101 }
References Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::_thread_map.
Referenced by Horizon::Networking::AcceptSocketMgr< SocketType, NetworkThreadType >::stop_network().
◆ _last_socket_id
template<class SocketType , class NetworkThreadType >
◆ _thread_map
template<class SocketType , class NetworkThreadType >
Unordered map of threads with a unique integer as the key.
Referenced by Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::get_new_socket(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::get_thread_map(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::GetNetworkThreadCount(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::on_socket_open(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::SelectThreadWithMinConnections(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::StartNetworkThreads(), Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::stop_network(), and Horizon::Networking::SocketMgr< SocketType, NetworkThreadType >::~SocketMgr().
The documentation for this class was generated from the following file: