From a9b47c4a74be2bf2fd67f8c0c1b410635d6c275a Mon Sep 17 00:00:00 2001 From: anulax1225 Date: Mon, 18 Mar 2024 08:27:43 +0100 Subject: [PATCH] Added basic multi-threading --- bakanet/src/bakanet/http/http_server.cpp | 16 ++++------------ bakanet/src/bakanet/http/http_server.h | 6 +++--- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/bakanet/src/bakanet/http/http_server.cpp b/bakanet/src/bakanet/http/http_server.cpp index fb48d31..81d9ebf 100755 --- a/bakanet/src/bakanet/http/http_server.cpp +++ b/bakanet/src/bakanet/http/http_server.cpp @@ -11,13 +11,10 @@ namespace Bk::Net { while (running) { auto conn = socket->ack(); - - threads.emplace_back(std::thread([&](Socket& conn) - { - log("Caca") - route_request(conn, recv_request(conn)); - log("Pipi") - }, std::ref(*conn))); + threads.push_back(std::thread([this](std::unique_ptr conn) + { + route_request(*conn, recv_request(*conn)); + }, std::move(conn))); } } @@ -25,16 +22,13 @@ namespace Bk::Net { { Packet req; bool reading = true; - log("Proute") while(reading) { auto data = conn.obtain(1024); int size = data.size(); - log("SIZE " << data.size()) req.append_data(data); reading = data.size() >= 1024; } - log("Cul") int req_size = req.size(); if (req_size) return HttpRequest(std::string(req.pull(req_size).release(), req_size)); return HttpRequest("", "", ""); @@ -50,8 +44,6 @@ namespace Bk::Net { void HttpServer::route_request(Socket& conn, HttpRequest req) { - log("to string") - log(req.to_string()) if(req_mapper[req.url]) send_reponse(conn, req_mapper[req.url](req)); else send_reponse(conn, HttpReponse(HTTP_RES_404, "HTTP/1.1")); } diff --git a/bakanet/src/bakanet/http/http_server.h b/bakanet/src/bakanet/http/http_server.h index 385881e..a0c1682 100755 --- a/bakanet/src/bakanet/http/http_server.h +++ b/bakanet/src/bakanet/http/http_server.h @@ -1,9 +1,9 @@ #pragma once #include -#include -#include -#include +#include +#include +#include #include "http_packet.h" namespace Bk::Net {