summaryrefslogtreecommitdiff
path: root/include/libsock/server/server.hpp
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-06-15 13:59:30 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-06-16 22:22:10 +0800
commit08688972ae56b474e2e2fd954c5caaeb1233a1be (patch)
treed44d051821e94283da2ca07862c1679ded6a9f3d /include/libsock/server/server.hpp
parentf93f73cdd3c7473e358b18c6f6add5f4d34ba5d6 (diff)
init: server
Diffstat (limited to 'include/libsock/server/server.hpp')
-rw-r--r--include/libsock/server/server.hpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/libsock/server/server.hpp b/include/libsock/server/server.hpp
new file mode 100644
index 0000000..c97c945
--- /dev/null
+++ b/include/libsock/server/server.hpp
@@ -0,0 +1,25 @@
+#pragma once
+#include "misc/FileDescriptor.hpp"
+#include "misc/memory.hpp"
+#include <mutex>
+#include <netinet/in.h>
+
+namespace LibSock {
+namespace Server {
+
+class Server {
+ public:
+ Server(uint16_t port, bool reuseaddr = true, bool keepalive = false);
+ ~Server();
+ SP<CFileDescriptor> getSocket() const;
+
+ private:
+ SP<CFileDescriptor> m_sockfd;
+ sockaddr_in m_addr;
+ uint16_t m_port;
+
+ mutable std::mutex m_mutex;
+};
+inline UP<Server> pServer;
+} // namespace Server
+} // namespace LibSock