From 989e4b9490b2f01ae1d0492720961adba39ca28b Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 26 Jul 2020 15:17:29 -0400 Subject: [PATCH] proxy progress --- .../main/java/com/rusefi/proxy/NetworkConnector.java | 2 +- .../src/main/java/com/rusefi/server/Backend.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/java_console/io/src/main/java/com/rusefi/proxy/NetworkConnector.java b/java_console/io/src/main/java/com/rusefi/proxy/NetworkConnector.java index ed608f04c9..2d4075a661 100644 --- a/java_console/io/src/main/java/com/rusefi/proxy/NetworkConnector.java +++ b/java_console/io/src/main/java/com/rusefi/proxy/NetworkConnector.java @@ -69,7 +69,6 @@ public class NetworkConnector { Semaphore proxyReconnectSemaphore = new Semaphore(1); try { while (true) { - log.info("Connecting to proxy server"); proxyReconnectSemaphore.acquire(); try { @@ -99,6 +98,7 @@ public class NetworkConnector { Socket socket; try { + log.info("Connecting to proxy server " + HttpUtil.RUSEFI_PROXY_HOSTNAME + " " + serverPortForControllers); socket = rusEFISSLContext.getSSLSocket(HttpUtil.RUSEFI_PROXY_HOSTNAME, serverPortForControllers); } catch (IOException e) { // socket open exception is a special case and should be handled separately diff --git a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java index 5456c47b28..88472b4d99 100644 --- a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java +++ b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java @@ -10,7 +10,9 @@ import com.rusefi.io.IoStream; import com.rusefi.io.commands.HelloCommand; import com.rusefi.io.tcp.BinaryProtocolProxy; import com.rusefi.io.tcp.BinaryProtocolServer; +import com.rusefi.io.tcp.ServerSocketReference; import com.rusefi.io.tcp.TcpIoStream; +import com.rusefi.shared.FileUtil; import com.rusefi.tools.online.ProxyClient; import net.jcip.annotations.GuardedBy; import org.jetbrains.annotations.NotNull; @@ -85,6 +87,8 @@ public class Backend implements Closeable { public final static AtomicLong totalSessions = new AtomicLong(); public int serverPortForApplications; public int serverPortForControllers; + private ServerSocketReference applicationConnector; + private ServerSocketReference controllerConnector; public Backend(UserDetailsResolver userDetailsResolver, int httpPort) { this(userDetailsResolver, httpPort, APPLICATION_INACTIVITY_TIMEOUT); @@ -162,7 +166,7 @@ public class Backend implements Closeable { // connection from authenticator app which proxies for Tuner Studio // authenticator pushed hello packet on connect log.info("Starting application connector at " + serverPortForApplications); - BinaryProtocolServer.tcpServerSocket(applicationSocket -> () -> { + applicationConnector = BinaryProtocolServer.tcpServerSocket(applicationSocket -> () -> { log.info("new application connection!"); totalSessions.incrementAndGet(); // connection from authenticator app which proxies for Tuner Studio @@ -245,7 +249,7 @@ public class Backend implements Closeable { public void runControllerConnector(int serverPortForControllers, Listener serverSocketCreationCallback) { this.serverPortForControllers = serverPortForControllers; log.info("Starting controller connector at " + serverPortForControllers); - BinaryProtocolServer.tcpServerSocket(controllerSocket -> () -> { + controllerConnector = BinaryProtocolServer.tcpServerSocket(controllerSocket -> () -> { totalSessions.incrementAndGet(); ControllerConnectionState controllerConnectionState = new ControllerConnectionState(controllerSocket, getUserDetailsResolver()); try { @@ -367,6 +371,8 @@ public class Backend implements Closeable { @Override public void close() { isClosed = true; + FileUtil.close(applicationConnector); + FileUtil.close(controllerConnector); } public boolean isClosed() {