X-Git-Url: https://git.hedgecode.org/?p=chesshog.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fuci%2FExternalEngine.java;h=fe4a8c9806cf1f3b7260b3c217e892361ed3bc30;hp=7b09fb5d99fb5ab51a23061bc1452c63fde07d51;hb=d8e01b4e01a458fad7ef2e641855d045b1c30af1;hpb=d290e40e310fc81ee8ccaf98c2d4cec017561151 diff --git a/src/main/java/org/hedgecode/chess/uci/ExternalEngine.java b/src/main/java/org/hedgecode/chess/uci/ExternalEngine.java index 7b09fb5..fe4a8c9 100644 --- a/src/main/java/org/hedgecode/chess/uci/ExternalEngine.java +++ b/src/main/java/org/hedgecode/chess/uci/ExternalEngine.java @@ -16,8 +16,9 @@ package org.hedgecode.chess.uci; -import java.io.BufferedWriter; -import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.PrintWriter; /** * External UCI Engine. @@ -27,21 +28,21 @@ import java.io.IOException; public class ExternalEngine implements Engine { private static final String COMMAND_FORMAT = "%s %s"; - private static final String CRLF = System.getProperty("line.separator"); - private BufferedWriter engineWriter; + private Transmitter transmitter; + private PrintWriter engineWriter; - ExternalEngine(BufferedWriter writer) { - engineWriter = writer; + ExternalEngine(InputStream input, OutputStream output) { + transmitter = new ExternalEngineTransmitter(input); + engineWriter = new PrintWriter(output, true); + } + + public Transmitter transmitter() { + return transmitter; } private void write(String command) { - try { - engineWriter.write(command); - engineWriter.write(CRLF); - engineWriter.flush(); - } catch (IOException ignored) { - } + engineWriter.println(command); } private String format(String name, String params) {