From 5314554b1a90a54910cfdec83945d9e7d4722600 Mon Sep 17 00:00:00 2001 From: Joaquim Rocha Date: Fri, 23 May 2025 15:37:50 +0100 Subject: [PATCH 1/2] Documentation update and small refactor --- src/main/java/net/uiqui/embedhttp/HttpServer.java | 1 + .../java/net/uiqui/embedhttp/server/ServerInstance.java | 2 +- .../java/net/uiqui/embedhttp/server/io/IOServer.java | 9 ++++----- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/uiqui/embedhttp/HttpServer.java b/src/main/java/net/uiqui/embedhttp/HttpServer.java index 5f691fb..fe17356 100644 --- a/src/main/java/net/uiqui/embedhttp/HttpServer.java +++ b/src/main/java/net/uiqui/embedhttp/HttpServer.java @@ -31,6 +31,7 @@ public interface HttpServer { /** * Retrieves the port on which the server is running. + * If the server is not running, this method will return -1. * * @return The port number. */ diff --git a/src/main/java/net/uiqui/embedhttp/server/ServerInstance.java b/src/main/java/net/uiqui/embedhttp/server/ServerInstance.java index bde63c2..f2e34e8 100644 --- a/src/main/java/net/uiqui/embedhttp/server/ServerInstance.java +++ b/src/main/java/net/uiqui/embedhttp/server/ServerInstance.java @@ -92,6 +92,6 @@ protected String serverLogMessage(String message, Object... args) { ? String.format(message, args) : message; - return String.format("Server(%d): %s", port, finalMessage); + return String.format("Instance(%d): %s", port, finalMessage); } } \ No newline at end of file diff --git a/src/main/java/net/uiqui/embedhttp/server/io/IOServer.java b/src/main/java/net/uiqui/embedhttp/server/io/IOServer.java index a63d75b..c3b6cc4 100644 --- a/src/main/java/net/uiqui/embedhttp/server/io/IOServer.java +++ b/src/main/java/net/uiqui/embedhttp/server/io/IOServer.java @@ -26,7 +26,8 @@ public IOServer(int port, int backlog) { @Override public void listenAndServe(Router router) { - try (var serverSocket = new ServerSocket(port, backlog)) { + try (var serverSocket = new ServerSocket(port, backlog); + var executorService = Executors.newVirtualThreadPerTaskExecutor()) { instancePort.set(serverSocket.getLocalPort()); serverSocket.setSoTimeout(SO_TIMEOUT); @@ -37,10 +38,8 @@ public void listenAndServe(Router router) { stateMachine.setState(ServerState.RUNNING); logger.log(INFO, () -> serverLogMessage("Started on port %d", serverSocket.getLocalPort())); - try (var executorService = Executors.newVirtualThreadPerTaskExecutor()) { - while (stateMachine.getCurrentState() == ServerState.RUNNING) { - acceptAndProcess(serverSocket, executorService, requestProcessor); - } + while (stateMachine.getCurrentState() == ServerState.RUNNING) { + acceptAndProcess(serverSocket, executorService, requestProcessor); } } catch (Exception e) { logger.log(ERROR, () -> serverLogMessage("Error starting server"), e); From 01d193832aae31571333890213df4baf30306c99 Mon Sep 17 00:00:00 2001 From: Joaquim Rocha Date: Fri, 23 May 2025 15:41:10 +0100 Subject: [PATCH 2/2] Update tests --- .../java/net/uiqui/embedhttp/server/ServerInstanceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/net/uiqui/embedhttp/server/ServerInstanceTest.java b/src/test/java/net/uiqui/embedhttp/server/ServerInstanceTest.java index 78cd889..2618ab1 100644 --- a/src/test/java/net/uiqui/embedhttp/server/ServerInstanceTest.java +++ b/src/test/java/net/uiqui/embedhttp/server/ServerInstanceTest.java @@ -15,7 +15,7 @@ void testServerMessageWithoutParameters() { // when var result = classUnderTest.serverLogMessage(message); // then - assertThat(result).isEqualTo("Server(0): test"); + assertThat(result).isEqualTo("Instance(0): test"); } @Test @@ -27,6 +27,6 @@ void testServerMessageWithParameters() { // when var result = classUnderTest.serverLogMessage(message, params1, params2); // then - assertThat(result).isEqualTo("Server(0): test param1 10"); + assertThat(result).isEqualTo("Instance(0): test param1 10"); } }