diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-03-10 18:36:00 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-03-20 23:44:58 +0800 |
| commit | 131dc244e67e3b6e9304e7076c397c761860044c (patch) | |
| tree | 56f634c1a16c4e5b6eb2224ba876ca97f68e4dee /src/chatServer.cpp | |
| parent | 4e8644b8ab3b259a91387c93a3295092bd9757a0 (diff) | |
fix(registerName): no longer allow same name
the previous behaviour was it wouldn't broadcast the message to the same
name
debug: more logging, maybe we should disable TRACE by default in the
future?
WIP: partial impl of signal handling(SIGINT(keyboardinterrupt) etc)
Diffstat (limited to 'src/chatServer.cpp')
| -rw-r--r-- | src/chatServer.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/chatServer.cpp b/src/chatServer.cpp index 2f6ddf5..70504f9 100644 --- a/src/chatServer.cpp +++ b/src/chatServer.cpp @@ -2,25 +2,32 @@ #include "server.hpp" #include "sessionManager.hpp" #include "chatManager.hpp" +#include "log.hpp" -CChatServer::CChatServer() = default; +CChatServer::CChatServer() { + log(LOG, "ChatServer: initialized"); +}; CChatServer::~CChatServer() { cleanup(); + log(SYS, "ChatServer: bye"); } void CChatServer::cleanup() { g_pChatManager.reset(); + // if (m_sessionThread.joinable()) + // m_sessionThread.join(); g_pSessionManager.reset(); g_pServer.reset(); - - if (m_sessionThread.joinable()) - m_sessionThread.join(); } void CChatServer::initManagers() { + log(LOG, "ChatServer: initializing managers"); + log(LOG, "Creating Server"); g_pServer = std::make_unique<CServer>(8080); + log(LOG, "Creating SessionManager"); g_pSessionManager = std::make_shared<CSessionManager>(); + log(LOG, "Creating ChatManager"); g_pChatManager = std::make_unique<CChatManager>(); } @@ -28,7 +35,7 @@ void CChatServer::start() { initManagers(); // will await while waiting for accept() to return a new client - m_sessionThread = std::jthread(&CSessionManager::enterLoop, g_pSessionManager); + m_sessionThread = std::jthread(&CSessionManager::run, g_pSessionManager.get()); m_sessionThread.detach(); while (true) { |
