summaryrefslogtreecommitdiff
path: root/src/chatServer.cpp
blob: 06f2021c4f996bccd4b17293dc8af32fd064d9bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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) {
  }
}