summaryrefslogtreecommitdiff
path: root/src/chatServer.cpp
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-03-10 18:36:00 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-03-20 23:44:58 +0800
commit131dc244e67e3b6e9304e7076c397c761860044c (patch)
tree56f634c1a16c4e5b6eb2224ba876ca97f68e4dee /src/chatServer.cpp
parent4e8644b8ab3b259a91387c93a3295092bd9757a0 (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.cpp17
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) {