diff options
Diffstat (limited to 'src/zenhttp/httpserver.cpp')
| -rw-r--r-- | src/zenhttp/httpserver.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/zenhttp/httpserver.cpp b/src/zenhttp/httpserver.cpp index 5312e80a2..a98a3c9bb 100644 --- a/src/zenhttp/httpserver.cpp +++ b/src/zenhttp/httpserver.cpp @@ -714,11 +714,8 @@ enum class HttpServerClass kHttpNull }; -// Implemented in httpsys.cpp -Ref<HttpServer> CreateHttpSysServer(int Concurrency, int BackgroundWorkerThreads); - Ref<HttpServer> -CreateHttpServer(std::string_view ServerClass) +CreateHttpServer(const HttpServerConfig& Config) { using namespace std::literals; @@ -730,15 +727,15 @@ CreateHttpServer(std::string_view ServerClass) Class = HttpServerClass::kHttpAsio; #endif - if (ServerClass == "asio"sv) + if (Config.ServerClass == "asio"sv) { Class = HttpServerClass::kHttpAsio; } - else if (ServerClass == "httpsys"sv) + else if (Config.ServerClass == "httpsys"sv) { Class = HttpServerClass::kHttpSys; } - else if (ServerClass == "null"sv) + else if (Config.ServerClass == "null"sv) { Class = HttpServerClass::kHttpNull; } @@ -748,12 +745,15 @@ CreateHttpServer(std::string_view ServerClass) default: case HttpServerClass::kHttpAsio: ZEN_INFO("using asio HTTP server implementation"); - return Ref<HttpServer>(new HttpAsioServer()); + return Ref<HttpServer>(new HttpAsioServer(Config.ThreadCount)); #if ZEN_WITH_HTTPSYS case HttpServerClass::kHttpSys: ZEN_INFO("using http.sys server implementation"); - return Ref<HttpServer>(new HttpSysServer(std::thread::hardware_concurrency(), /* background worker threads */ 16)); + return Ref<HttpServer>(new HttpSysServer({.ThreadCount = Config.ThreadCount, + .AsyncWorkThreadCount = Config.HttpSys.AsyncWorkThreadCount, + .IsAsyncResponseEnabled = Config.HttpSys.IsAsyncResponseEnabled, + .IsRequestLoggingEnabled = Config.HttpSys.IsRequestLoggingEnabled})); #endif case HttpServerClass::kHttpNull: |