@Override
protected void doOpen() throws IOException {
if (streaming == Streaming.Async) {
asyncIn = new ChannelAsyncOutputStream(this, SshConstants.SSH_MSG_CHANNEL_DATA);
asyncOut = new ChannelAsyncInputStream(this);
} else {
invertedIn = out = new ChannelOutputStream(this, remoteWindow, log, SshConstants.SSH_MSG_CHANNEL_DATA);
ChannelPipedInputStream pis = new ChannelPipedInputStream(localWindow);
pipe = new ChannelPipedOutputStream(pis);
invertedOut = in = pis;