proxy progress

This commit is contained in:
rusefi 2020-07-26 15:17:29 -04:00
parent 079dc3fd9a
commit 989e4b9490
2 changed files with 9 additions and 3 deletions

View File

@ -69,7 +69,6 @@ public class NetworkConnector {
Semaphore proxyReconnectSemaphore = new Semaphore(1); Semaphore proxyReconnectSemaphore = new Semaphore(1);
try { try {
while (true) { while (true) {
log.info("Connecting to proxy server");
proxyReconnectSemaphore.acquire(); proxyReconnectSemaphore.acquire();
try { try {
@ -99,6 +98,7 @@ public class NetworkConnector {
Socket socket; Socket socket;
try { try {
log.info("Connecting to proxy server " + HttpUtil.RUSEFI_PROXY_HOSTNAME + " " + serverPortForControllers);
socket = rusEFISSLContext.getSSLSocket(HttpUtil.RUSEFI_PROXY_HOSTNAME, serverPortForControllers); socket = rusEFISSLContext.getSSLSocket(HttpUtil.RUSEFI_PROXY_HOSTNAME, serverPortForControllers);
} catch (IOException e) { } catch (IOException e) {
// socket open exception is a special case and should be handled separately // socket open exception is a special case and should be handled separately

View File

@ -10,7 +10,9 @@ import com.rusefi.io.IoStream;
import com.rusefi.io.commands.HelloCommand; import com.rusefi.io.commands.HelloCommand;
import com.rusefi.io.tcp.BinaryProtocolProxy; import com.rusefi.io.tcp.BinaryProtocolProxy;
import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.io.tcp.BinaryProtocolServer;
import com.rusefi.io.tcp.ServerSocketReference;
import com.rusefi.io.tcp.TcpIoStream; import com.rusefi.io.tcp.TcpIoStream;
import com.rusefi.shared.FileUtil;
import com.rusefi.tools.online.ProxyClient; import com.rusefi.tools.online.ProxyClient;
import net.jcip.annotations.GuardedBy; import net.jcip.annotations.GuardedBy;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -85,6 +87,8 @@ public class Backend implements Closeable {
public final static AtomicLong totalSessions = new AtomicLong(); public final static AtomicLong totalSessions = new AtomicLong();
public int serverPortForApplications; public int serverPortForApplications;
public int serverPortForControllers; public int serverPortForControllers;
private ServerSocketReference applicationConnector;
private ServerSocketReference controllerConnector;
public Backend(UserDetailsResolver userDetailsResolver, int httpPort) { public Backend(UserDetailsResolver userDetailsResolver, int httpPort) {
this(userDetailsResolver, httpPort, APPLICATION_INACTIVITY_TIMEOUT); this(userDetailsResolver, httpPort, APPLICATION_INACTIVITY_TIMEOUT);
@ -162,7 +166,7 @@ public class Backend implements Closeable {
// connection from authenticator app which proxies for Tuner Studio // connection from authenticator app which proxies for Tuner Studio
// authenticator pushed hello packet on connect // authenticator pushed hello packet on connect
log.info("Starting application connector at " + serverPortForApplications); log.info("Starting application connector at " + serverPortForApplications);
BinaryProtocolServer.tcpServerSocket(applicationSocket -> () -> { applicationConnector = BinaryProtocolServer.tcpServerSocket(applicationSocket -> () -> {
log.info("new application connection!"); log.info("new application connection!");
totalSessions.incrementAndGet(); totalSessions.incrementAndGet();
// connection from authenticator app which proxies for Tuner Studio // 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) { public void runControllerConnector(int serverPortForControllers, Listener<?> serverSocketCreationCallback) {
this.serverPortForControllers = serverPortForControllers; this.serverPortForControllers = serverPortForControllers;
log.info("Starting controller connector at " + serverPortForControllers); log.info("Starting controller connector at " + serverPortForControllers);
BinaryProtocolServer.tcpServerSocket(controllerSocket -> () -> { controllerConnector = BinaryProtocolServer.tcpServerSocket(controllerSocket -> () -> {
totalSessions.incrementAndGet(); totalSessions.incrementAndGet();
ControllerConnectionState controllerConnectionState = new ControllerConnectionState(controllerSocket, getUserDetailsResolver()); ControllerConnectionState controllerConnectionState = new ControllerConnectionState(controllerSocket, getUserDetailsResolver());
try { try {
@ -367,6 +371,8 @@ public class Backend implements Closeable {
@Override @Override
public void close() { public void close() {
isClosed = true; isClosed = true;
FileUtil.close(applicationConnector);
FileUtil.close(controllerConnector);
} }
public boolean isClosed() { public boolean isClosed() {