From 880b6a9275030515e11fdfeb3b6fc074bca9322d Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 9 Mar 2025 13:03:17 +0800 Subject: sessionManager: run in a jthread, for prep of inputManager refactor(main)!: move main infra to oop chatServer --- src/chatServer.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/chatServer.cpp (limited to 'src/chatServer.cpp') diff --git a/src/chatServer.cpp b/src/chatServer.cpp new file mode 100644 index 0000000..06f2021 --- /dev/null +++ b/src/chatServer.cpp @@ -0,0 +1,32 @@ +#include "chatServer.hpp" +#include "server.hpp" +#include "sessionManager.hpp" + +CChatServer::CChatServer() = default; + +CChatServer::~CChatServer() { + cleanup(); +} + +void CChatServer::cleanup() { + g_pServer.reset(); + g_pSessionManager.reset(); +} + +void CChatServer::initManagers() { + g_pServer = std::make_unique(8080); + g_pSessionManager = std::make_shared(); +} + + +void CChatServer::start() { + initManagers(); + + // will await while waiting for accept() to return a new client + std::jthread sessionThread = std::jthread(&CSessionManager::enterLoop, g_pSessionManager); + sessionThread.detach(); + + while (true) { + } +} + -- cgit v1.2.3