+-------------------+ +-----------------+ (Socket)InputStream ---> | ssh2 transport | <===> | ssh2 channel | (Socket)OutputStream --> | (auth, pipe) | N | (buffer) | +-------------------+ +-----------------+ @ feeder thread | | - read InputStream | +-> InputStream - feed into channel +---> OutputStream buffers SIS <-- @ --> (parse, find chan) --> ssh2 chan: buffer <-- SSHInputStream SSHOutputStream --> ssh2 chan --> ssh2 transport --> SOS [no thread] exported API... from ChannelFile: next write writelines flush read readline readlines xreadlines close