From cad2569f10e6c0131e5e645ee76330c776b91547 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Thu, 19 Jun 2025 18:45:34 +0800 Subject: fix!: share pointer for details: https://stackoverflow.com/a/5548314 --- include/libsock/server/server.hpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'include/libsock/server/server.hpp') diff --git a/include/libsock/server/server.hpp b/include/libsock/server/server.hpp index 1b52e2f..225bdb0 100644 --- a/include/libsock/server/server.hpp +++ b/include/libsock/server/server.hpp @@ -1,24 +1,27 @@ #pragma once #include "../types.hpp" +#include #include #include -#include namespace LibSock { namespace Server { -class Server { +class Server : public std::enable_shared_from_this { public: - Server(uint16_t port, bool reuseaddr = true, bool keepalive = false); + static SP create(uint16_t port, bool reuseaddr = true, bool keepalive = false); ~Server(); SP getSocket() const; private: + Server(uint16_t port, bool reuseaddr = true, bool keepalive = false); SP m_sockfd; sockaddr_in m_addr; uint16_t m_port; + SP get(); + mutable std::mutex m_mutex; }; inline SP pServer; -- cgit v1.2.3