From 863a38675e687425e6b42c07233bb646982cfbeb Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 8 Jul 2020 19:49:01 -0400 Subject: [PATCH] proxy progress one more go? it makes no sense :( --- .../io/src/main/java/com/rusefi/io/IoStream.java | 5 +++++ .../main/java/com/rusefi/io/serial/PortHolder.java | 3 ++- .../rusefi/io/serial/SerialIoStreamJSerialComm.java | 12 ++++++++++++ .../src/main/java/com/rusefi/io/tcp/TcpIoStream.java | 12 ++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/java_console/io/src/main/java/com/rusefi/io/IoStream.java b/java_console/io/src/main/java/com/rusefi/io/IoStream.java index 58f9c5f4be..c5cfc5b26f 100644 --- a/java_console/io/src/main/java/com/rusefi/io/IoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/IoStream.java @@ -4,6 +4,7 @@ import com.opensr5.Logger; import com.opensr5.io.DataListener; import com.opensr5.io.WriteStream; import com.rusefi.binaryprotocol.BinaryProtocol; +import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.binaryprotocol.IoHelper; import java.io.IOException; @@ -48,4 +49,8 @@ public interface IoStream extends WriteStream { boolean isClosed(); void close(); + + void setDataBuffer(IncomingDataBuffer dataBuffer); + + IncomingDataBuffer getDataBuffer(); } diff --git a/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java b/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java index f07c9c71da..8f6d4e9cd8 100644 --- a/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java +++ b/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java @@ -54,8 +54,9 @@ public class PortHolder { return false; } IncomingDataBuffer dataBuffer = IncomingDataBuffer.createDataBuffer(stream, logger); + stream.setDataBuffer(dataBuffer); synchronized (portLock) { - bp = new BinaryProtocol(linkManager, logger, stream, dataBuffer); + bp = new BinaryProtocol(linkManager, logger, stream, stream.getDataBuffer()); portLock.notifyAll(); } diff --git a/java_console/io/src/main/java/com/rusefi/io/serial/SerialIoStreamJSerialComm.java b/java_console/io/src/main/java/com/rusefi/io/serial/SerialIoStreamJSerialComm.java index 91352f2d1c..2ed234a298 100644 --- a/java_console/io/src/main/java/com/rusefi/io/serial/SerialIoStreamJSerialComm.java +++ b/java_console/io/src/main/java/com/rusefi/io/serial/SerialIoStreamJSerialComm.java @@ -5,6 +5,7 @@ import com.fazecast.jSerialComm.SerialPortDataListener; import com.fazecast.jSerialComm.SerialPortEvent; import com.opensr5.Logger; import com.opensr5.io.DataListener; +import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.io.IoStream; /** @@ -18,6 +19,7 @@ public class SerialIoStreamJSerialComm implements IoStream { private SerialPort sp; private final String port; private final Logger logger; + private IncomingDataBuffer dataBuffer; /** * @see #openPort(String, Logger) @@ -59,6 +61,16 @@ public class SerialIoStreamJSerialComm implements IoStream { return isClosed; } + @Override + public void setDataBuffer(IncomingDataBuffer dataBuffer) { + this.dataBuffer = dataBuffer; + } + + @Override + public IncomingDataBuffer getDataBuffer() { + return dataBuffer; + } + @Override public void close() { logger.info(port + ": Closing port..."); diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/TcpIoStream.java b/java_console/io/src/main/java/com/rusefi/io/tcp/TcpIoStream.java index c43af15fe5..0046c4eb63 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/TcpIoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/TcpIoStream.java @@ -2,6 +2,7 @@ package com.rusefi.io.tcp; import com.opensr5.Logger; import com.opensr5.io.DataListener; +import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.io.ByteReader; import com.rusefi.io.IoStream; @@ -20,6 +21,7 @@ public class TcpIoStream implements IoStream { private final OutputStream output; private final Logger logger; private boolean isClosed; + private IncomingDataBuffer dataBuffer; public TcpIoStream(Logger logger, Socket socket) throws IOException { this(logger, new BufferedInputStream(socket.getInputStream()), socket.getOutputStream()); @@ -35,6 +37,16 @@ public class TcpIoStream implements IoStream { this.input = input; } + @Override + public void setDataBuffer(IncomingDataBuffer dataBuffer) { + this.dataBuffer = dataBuffer; + } + + @Override + public IncomingDataBuffer getDataBuffer() { + return dataBuffer; + } + @Override public void close() { isClosed = true;