reducing code duplication
This commit is contained in:
parent
76334822b3
commit
439ec69481
|
@ -0,0 +1,17 @@
|
||||||
|
package com.rusefi.io.serial;
|
||||||
|
|
||||||
|
import com.rusefi.io.IoStream;
|
||||||
|
|
||||||
|
public abstract class AbstractIoStream implements IoStream {
|
||||||
|
private boolean isClosed;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
isClosed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isClosed() {
|
||||||
|
return isClosed;
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,8 +14,7 @@ import com.rusefi.io.IoStream;
|
||||||
* Andrey Belomutskiy, (c) 2013-2020
|
* Andrey Belomutskiy, (c) 2013-2020
|
||||||
* 06/03/2019
|
* 06/03/2019
|
||||||
*/
|
*/
|
||||||
public class SerialIoStreamJSerialComm implements IoStream {
|
public class SerialIoStreamJSerialComm extends AbstractIoStream {
|
||||||
private boolean isClosed;
|
|
||||||
private SerialPort sp;
|
private SerialPort sp;
|
||||||
private final String port;
|
private final String port;
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
|
@ -62,11 +61,6 @@ public class SerialIoStreamJSerialComm implements IoStream {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isClosed() {
|
|
||||||
return isClosed;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IncomingDataBuffer getDataBuffer() {
|
public IncomingDataBuffer getDataBuffer() {
|
||||||
return dataBuffer;
|
return dataBuffer;
|
||||||
|
@ -75,7 +69,7 @@ public class SerialIoStreamJSerialComm implements IoStream {
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
logger.info(port + ": Closing port...");
|
logger.info(port + ": Closing port...");
|
||||||
isClosed = true;
|
super.close();
|
||||||
sp.closePort();
|
sp.closePort();
|
||||||
logger.info(port + ": Closed port.");
|
logger.info(port + ": Closed port.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import com.opensr5.Logger;
|
||||||
import com.opensr5.io.DataListener;
|
import com.opensr5.io.DataListener;
|
||||||
import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
||||||
import com.rusefi.io.ByteReader;
|
import com.rusefi.io.ByteReader;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.serial.AbstractIoStream;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -16,12 +16,11 @@ import java.net.Socket;
|
||||||
* Andrey Belomutskiy, (c) 2013-2020
|
* Andrey Belomutskiy, (c) 2013-2020
|
||||||
* 5/11/2015.
|
* 5/11/2015.
|
||||||
*/
|
*/
|
||||||
public class TcpIoStream implements IoStream {
|
public class TcpIoStream extends AbstractIoStream {
|
||||||
private final InputStream input;
|
private final InputStream input;
|
||||||
private final OutputStream output;
|
private final OutputStream output;
|
||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
private final String loggingPrefix;
|
private final String loggingPrefix;
|
||||||
private boolean isClosed;
|
|
||||||
private final IncomingDataBuffer dataBuffer;
|
private final IncomingDataBuffer dataBuffer;
|
||||||
|
|
||||||
public TcpIoStream(Logger logger, Socket socket) throws IOException {
|
public TcpIoStream(Logger logger, Socket socket) throws IOException {
|
||||||
|
@ -52,11 +51,6 @@ public class TcpIoStream implements IoStream {
|
||||||
return dataBuffer;
|
return dataBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void close() {
|
|
||||||
isClosed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(byte[] bytes) throws IOException {
|
public void write(byte[] bytes) throws IOException {
|
||||||
output.write(bytes);
|
output.write(bytes);
|
||||||
|
@ -68,9 +62,4 @@ public class TcpIoStream implements IoStream {
|
||||||
|
|
||||||
ByteReader.runReaderLoop(loggingPrefix, listener, input::read, logger);
|
ByteReader.runReaderLoop(loggingPrefix, listener, input::read, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isClosed() {
|
|
||||||
return isClosed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue