summaryrefslogtreecommitdiff
path: root/src/chatServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chatServer.cpp')
-rw-r--r--src/chatServer.cpp32
1 files changed, 32 insertions, 0 deletions
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<CServer>(8080);
+ g_pSessionManager = std::make_shared<CSessionManager>();
+}
+
+
+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) {
+ }
+}
+