Update
Integrated std::byte added to C++17 recently
This commit is contained in:
@ -1,17 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <VoidNet_LL/TcpListener.hpp>
|
||||
#include <VoidNet_HL/TcpConnection.hpp>
|
||||
#include <VoidNet_HL/Plugin/PluginManager.hpp>
|
||||
#include <VoidNet_HL/ServerConfig.hpp>
|
||||
|
||||
#include <mutex>
|
||||
#include <atomic>
|
||||
#include <queue>
|
||||
|
||||
#include <VoidNet/TcpListener.hpp>
|
||||
#include <HLAPI/TcpConnection.hpp>
|
||||
#include <HLAPI/Plugin/PluginManager.hpp>
|
||||
#include <HLAPI/ServerConfig.hpp>
|
||||
|
||||
namespace std::net
|
||||
{
|
||||
class MessageQueue;
|
||||
class TcpConnection;
|
||||
class Server;
|
||||
class TcpListener;
|
||||
@ -21,15 +19,15 @@ namespace std::net
|
||||
{
|
||||
class TcpConnectionHandler
|
||||
{
|
||||
friend class std::net::Server;
|
||||
friend class Server;
|
||||
|
||||
public:
|
||||
TcpConnectionHandler(std::shared_ptr<TcpListener> listener_ptr);
|
||||
TcpConnectionHandler(shared_ptr<TcpListener> listener_ptr);
|
||||
~TcpConnectionHandler();
|
||||
|
||||
void Start();
|
||||
void Stop();
|
||||
void AddClient(std::shared_ptr<TcpConnection> &c);
|
||||
void AddClient(shared_ptr<TcpConnection> &c);
|
||||
void SetMaxConnections(uint32_t max_connections);
|
||||
|
||||
void HandlePluginMessage(const NetworkMessage& message);
|
||||
@ -43,23 +41,21 @@ namespace std::net
|
||||
void HandleReceiveMsgAndConnsThreaded();
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<TcpConnection>> m_list;
|
||||
std::mutex m_listMutex;
|
||||
vector<shared_ptr<TcpConnection>> m_list;
|
||||
mutex m_listMutex;
|
||||
|
||||
uint32_t m_maxConnections = 0;
|
||||
|
||||
std::thread m_receiveThread;
|
||||
std::thread m_sendThread;
|
||||
thread m_receiveThread;
|
||||
thread m_sendThread;
|
||||
|
||||
std::atomic_bool m_run;
|
||||
atomic_bool m_run;
|
||||
|
||||
std::shared_ptr<MessageQueue> m_queue;
|
||||
shared_ptr<TcpListener> m_listenerPtr;
|
||||
|
||||
std::shared_ptr<TcpListener> m_listenerPtr;
|
||||
shared_ptr<PluginManager> m_pluginManager;
|
||||
|
||||
std::shared_ptr<PluginManager> m_pluginManager;
|
||||
|
||||
std::vector<pollfd> m_pollFds;
|
||||
vector<pollfd> m_pollFds;
|
||||
|
||||
ServerConfig m_config;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user