package htsjdk.samtools.cram.paralell; import htsjdk.samtools.util.Log; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; class StreamPump extends Job { private static final Log log = Log.getInstance(StreamPump.class); InputStream is; OutputStream os; public StreamPump(InputStream is, OutputStream os) { this.is = is; this.os = os; } @Override protected void doRun() throws IOException { byte[] buf = new byte[4096]; int len = is.read(buf); if (len == -1) { stop(); } else { os.write(buf, 0, len); } } @Override protected void doFinish() throws Exception { log.info("stream pump out"); os.close(); } }