@Override public void flush() throws IOException { if (!isOpen()) { throw new IOException("flush() Stream has been closed"); } }
@Override public void write(int i) throws IOException { synchronized (b) { b[0] = (byte) i; write(b, 0, 1); } }
@Override protected void doWriteData(byte[] data, int off, long len) throws IOException { ValidateUtils.checkTrue(len <= Integer.MAX_VALUE, "Data length exceeds int boundaries: %d", len); pipe.write(data, off, (int) len); pipe.flush(); Window wLocal = getLocalWindow(); wLocal.consumeAndCheck(len); }
public PipeDataReceiver(PropertyResolver resolver, Window localWindow) { ChannelPipedInputStream in = new ChannelPipedInputStream(resolver, localWindow); this.in = in; this.out = new ChannelPipedOutputStream(in); if (log.isTraceEnabled()) { out = new LoggingFilterOutputStream(out, "IN(" + resolver + "): ", log, resolver); } }
@Override protected void doWriteData(byte[] data, int off, long len) throws IOException { ValidateUtils.checkTrue(len <= Integer.MAX_VALUE, "Data length exceeds int boundaries: %d", len); pipe.write(data, off, (int) len); pipe.flush(); Window wLocal = getLocalWindow(); wLocal.consumeAndCheck(len); }
public PipeDataReceiver(PropertyResolver resolver, Window localWindow) { ChannelPipedInputStream in = new ChannelPipedInputStream(resolver, localWindow); this.in = in; this.out = new ChannelPipedOutputStream(in); if (log.isTraceEnabled()) { out = new LoggingFilterOutputStream(out, "IN(" + resolver + "): ", log, resolver); } }
@Override public void flush() throws IOException { if (!isOpen()) { throw new IOException("flush() Stream has been closed"); } }
@Override protected void doOpen() throws IOException { if (streaming == Streaming.Async) { asyncIn = new ChannelAsyncOutputStream(this, SshConstants.SSH_MSG_CHANNEL_DATA); asyncOut = new ChannelAsyncInputStream(this); } else { out = new ChannelOutputStream(this, getRemoteWindow(), log, SshConstants.SSH_MSG_CHANNEL_DATA, true); invertedIn = out; ChannelPipedInputStream pis = new ChannelPipedInputStream(this, getLocalWindow()); pipe = new ChannelPipedOutputStream(pis); in = pis; invertedOut = in; } }
@Override public void write(int i) throws IOException { synchronized (b) { b[0] = (byte) i; write(b, 0, 1); } }
@Override public void write(byte[] b, int off, int len) throws IOException { if (!isOpen()) { throw new IOException("write(len=" + len + ") Stream has been closed"); } sink.receive(b, off, len); }
@Override protected void doOpen() throws IOException { if (streaming == Streaming.Async) { asyncIn = new ChannelAsyncOutputStream(this, SshConstants.SSH_MSG_CHANNEL_DATA); asyncOut = new ChannelAsyncInputStream(this); } else { out = new ChannelOutputStream(this, getRemoteWindow(), log, SshConstants.SSH_MSG_CHANNEL_DATA, true); invertedIn = out; ChannelPipedInputStream pis = new ChannelPipedInputStream(this, getLocalWindow()); pipe = new ChannelPipedOutputStream(pis); in = pis; invertedOut = in; } }
@Override public void close() throws IOException { if (isOpen()) { try { sink.eof(); } finally { closed = true; } } } }
if (out == null) { ChannelPipedInputStream pis = new ChannelPipedInputStream(this, wLocal); ChannelPipedOutputStream pos = new ChannelPipedOutputStream(pis); out = pos; invertedOut = pis; ChannelPipedOutputStream pos = new ChannelPipedOutputStream(pis); err = pos; invertedErr = pis;
@Override public void close() throws IOException { if (isOpen()) { try { sink.eof(); } finally { closed = true; } } } }
if (out == null) { ChannelPipedInputStream pis = new ChannelPipedInputStream(this, wLocal); ChannelPipedOutputStream pos = new ChannelPipedOutputStream(pis); out = pos; invertedOut = pis; ChannelPipedOutputStream pos = new ChannelPipedOutputStream(pis); err = pos; invertedErr = pis;
@Override public void write(byte[] b, int off, int len) throws IOException { if (!isOpen()) { throw new IOException("write(len=" + len + ") Stream has been closed"); } sink.receive(b, off, len); }