com.sshtools.j2ssh.connection
Class ChannelInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by com.sshtools.j2ssh.connection.ChannelInputStream
All Implemented Interfaces:
java.io.Closeable

public class ChannelInputStream
extends java.io.InputStream

Version:
$Revision: 1.1 $
Author:
$author$

Field Summary
private  java.lang.Thread blockingThread
           
(package private)  int currentPos
           
(package private)  int[] filter
           
private  int interrupt
           
private  boolean isBlocking
           
private  java.lang.Object lock
           
private static org.apache.commons.logging.Log log
           
private  SshMessageStore messageStore
           
(package private)  byte[] msgdata
           
private  java.lang.Integer type
           
 
Constructor Summary
ChannelInputStream(SshMessageStore messageStore)
          Creates a new ChannelInputStream object.
ChannelInputStream(SshMessageStore messageStore, java.lang.Integer type)
          Creates a new ChannelInputStream object.
 
Method Summary
 int available()
           
private  void block()
           
 void close()
           
private  void collectNextMessage()
           
 void interrupt()
           
 boolean isClosed()
           
 int read()
           
 int read(byte[] b, int off, int len)
           
 void setBlockInterrupt(int interrupt)
           
private  void startBlockingOperation()
           
private  void stopBlockingOperation()
           
 
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.commons.logging.Log log

filter

int[] filter

msgdata

byte[] msgdata

currentPos

int currentPos

messageStore

private SshMessageStore messageStore

type

private java.lang.Integer type

interrupt

private int interrupt

isBlocking

private boolean isBlocking

lock

private java.lang.Object lock

blockingThread

private java.lang.Thread blockingThread
Constructor Detail

ChannelInputStream

public ChannelInputStream(SshMessageStore messageStore,
                          java.lang.Integer type)
Creates a new ChannelInputStream object.

Parameters:
messageStore -
type -

ChannelInputStream

public ChannelInputStream(SshMessageStore messageStore)
Creates a new ChannelInputStream object.

Parameters:
messageStore -
Method Detail

available

public int available()
Overrides:
available in class java.io.InputStream
Returns:

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.InputStream
Throws:
java.io.IOException

isClosed

public boolean isClosed()
Returns:

setBlockInterrupt

public void setBlockInterrupt(int interrupt)
Parameters:
interrupt -

interrupt

public void interrupt()

read

public int read()
         throws java.io.IOException
Specified by:
read in class java.io.InputStream
Returns:
Throws:
java.io.IOException
java.io.InterruptedIOException

read

public int read(byte[] b,
                int off,
                int len)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Parameters:
b -
off -
len -
Returns:
Throws:
java.io.IOException
java.io.IOException

block

private void block()
            throws MessageStoreEOFException,
                   java.lang.InterruptedException,
                   java.io.IOException
Throws:
MessageStoreEOFException
java.lang.InterruptedException
java.io.IOException

startBlockingOperation

private void startBlockingOperation()
                             throws java.io.IOException
Throws:
java.io.IOException

stopBlockingOperation

private void stopBlockingOperation()
                            throws java.io.IOException
Throws:
java.io.IOException

collectNextMessage

private void collectNextMessage()
                         throws MessageStoreEOFException,
                                java.lang.InterruptedException,
                                java.io.IOException
Throws:
MessageStoreEOFException
java.lang.InterruptedException
java.io.IOException