#pragma once #include "misc/FileDescriptor.hpp" #include "misc/memory.hpp" #include #include namespace LibSock { namespace Server { class Server { public: Server(uint16_t port, bool reuseaddr = true, bool keepalive = false); ~Server(); SP getSocket() const; private: SP m_sockfd; sockaddr_in m_addr; uint16_t m_port; mutable std::mutex m_mutex; }; inline UP pServer; } // namespace Server } // namespace LibSock