From ae0d34711c7b83ca2bd73c7aee96eeec369ac6b1 Mon Sep 17 00:00:00 2001 From: Daniel <59575049+lumijiez@users.noreply.github.com> Date: Wed, 23 Oct 2024 21:56:30 +0300 Subject: [PATCH] server configurator --- .../lumijiez/core/config/ServerConfig.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/org/lumijiez/core/config/ServerConfig.java diff --git a/src/main/java/org/lumijiez/core/config/ServerConfig.java b/src/main/java/org/lumijiez/core/config/ServerConfig.java new file mode 100644 index 0000000..2a44d02 --- /dev/null +++ b/src/main/java/org/lumijiez/core/config/ServerConfig.java @@ -0,0 +1,34 @@ +package org.lumijiez.core.config; + +public class ServerConfig { + private final int port; + private final int keepAliveTimeout; + private final int maxRequestsPerConnection; + private final int bufferSize; + private final int threadPoolSize; + + private ServerConfig(Builder builder) { + this.port = builder.port; + this.keepAliveTimeout = builder.keepAliveTimeout; + this.maxRequestsPerConnection = builder.maxRequestsPerConnection; + this.bufferSize = builder.bufferSize; + this.threadPoolSize = builder.threadPoolSize; + } + + public static class Builder { + private int port = 8080; + private int keepAliveTimeout = 30000; + private int maxRequestsPerConnection = 1000; + private int bufferSize = 8192; + private int threadPoolSize = Runtime.getRuntime().availableProcessors() * 2; + + public Builder port(int port) { + this.port = port; + return this; + } + + public ServerConfig build() { + return new ServerConfig(this); + } + } +}