#pragma once #include #include "VoidNet/TcpListener.hpp" namespace std::net { class Server; class TcpConnectionHandler; class TcpServer { friend class std::net::Server; public: TcpServer(uint32_t max_connections, uint16_t port = DEFAULT_SERVER_PORT); void Start(); void Stop(); private: std::shared_ptr listener; uint32_t m_maxConnections; uint16_t m_port; std::atomic_bool m_run; std::shared_ptr m_connectionHandler; }; }