    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class w3c.www.mux.MuxInputStream

    java.lang.Object
       |
       +----java.io.InputStream
               |
               +----w3c.www.mux.MuxInputStream

public class MuxInputStream
extends InputStream
implements MUX

##

avail_credit
  Current available credit on that session.
buffer
  This input stream associated buffer.
buflen
  The current buffer length.
bufptr
  The current buffer position.
closed
  Has this stream been closed ?
consumed_credit
  Currently consumed credits.
errmsg
  Error message in case of error.
markptr
  The current mark within the input buffer, or -1.
pushpending
  Yet another push is pending from the reader thread.
session
  The MuxSession instance this input stream is attached to.
writer
  A quick reference to that session writer.

##

MuxInputStream(MuxSession)
  Create an input stream to read data from the given session.

##

available()
  Get the number of available bytes on that stream.
close()
  Close that input stream.
error(String)
  Notify that stream of some error condition.
mark(int)
  Set a mark in that input stream.
push(byte[], int, int, boolean)
  Fill in that input stream with more data.
read()
  Read one byte of input from the stream.
read(byte[], int, int)
  Reads into an array of bytes.
reset()
  Reset buffer to last mark.

##

session

     protected MuxSession session

  The MuxSession instance this input stream is attached to.

writer

     protected MuxWriter writer

  A quick reference to that session writer.

buffer

     protected byte buffer[]

  This input stream associated buffer.

bufptr

     protected int bufptr

  The current buffer position.

markptr

     protected int markptr

  The current mark within the input buffer, or -1.

buflen

     protected int buflen

  The current buffer length.

closed

     protected boolean closed

  Has this stream been closed ?

consumed_credit

     protected int consumed_credit

  Currently consumed credits.

avail_credit

     protected int avail_credit

  Current available credit on that session.

pushpending

     protected boolean pushpending

  Yet another push is pending from the reader thread.

errmsg

     protected String errmsg

  Error message in case of error.

##

MuxInputStream

     protected MuxInputStream(MuxSession session)

  Create an input stream to read data from the given session.

  Parameters:
    session - The session to read data from.

##

push

     protected synchronized void push(byte data[],
                                      int off,
                                      int len,
                                      boolean noflush) throws IOException

  Fill in that input stream with more data. This method can only be called from within that package, typically by the session reader, to fill in the buffer.

  Parameters:
    data - The data read from the socket.
    off - Offset of available data within above buffer.
    len - Length of available data within above buffer.
    noflush - Set to true if there is already more data available for that session.

mark

     public synchronized void mark(int readlimit)

  Set a mark in that input stream.

  Parameters:
    readlimit - The maximum limit of bytes allowed to be read before the mark becomes invalid.
  Overrides:
    mark in class InputStream

reset

     public synchronized void reset() throws IOException

  Reset buffer to last mark.

  Throws: IOException
    If the mark has not been set, or if it is no longer valid.
  Overrides:
    reset in class InputStream

error

     protected synchronized void error(String msg)

  Notify that stream of some error condition. When an error condition is detected, all read accesses to the stream will result in an IOException being thrown, with as a message, the message provided here.

  Parameters:
    msg - Error message to be provided in any future IOException.

available

     public synchronized int available() throws IOException

  Get the number of available bytes on that stream.

  Returns:
    Number of bytes available.
  Overrides:
    available in class InputStream

close

     public synchronized void close() throws IOException

  Close that input stream.

  Throws: IOException
    If some IO error occured during close.
  Overrides:
    close in class InputStream

read

     public synchronized int read() throws IOException

  Read one byte of input from the stream.

  Returns:
    The byte read, or -1 if end of stream.
  Throws: IOException
    If an IO error has occured.
  Overrides:
    read in class InputStream

read

     public synchronized int read(byte b[],
                                  int off,
                                  int len) throws IOException

  Reads into an array of bytes. This method will block until some input is available.

  Parameters:
    b - the buffer into which the data is read
    off - the start offset of the data
    len - the maximum number of bytes read
  Returns:
    the actual number of bytes read, -1 is returned when the end of the stream is reached.
  Throws: IOException
    If an I/O error has occurred.
  Overrides:
    read in class InputStream

    All Packages  Class Hierarchy  This Package  Previous  Next  Index