## org.apache.axis.transport.http
Class NonBlockingBufferedInputStream

    java.lang.Object
      java.io.InputStream
          org.apache.axis.transport.http.NonBlockingBufferedInputStream

public class NonBlockingBufferedInputStream
extends java.io.InputStream

Constructor Summary
`NonBlockingBufferedInputStream()`

Method Summary
`int` `available()` return the number of bytes available to be read without blocking
`void` `close()` disassociate from the underlying input stream
`int` `peek()` Just like read except byte is not removed from the buffer.
`int` `read()` Read a byte from the input stream, blocking if necessary.
`int` `read(byte[] dest)` Read bytes from the input stream.
`int` `read(byte[] dest, int off, int len)` Read a specified number of bytes from the input stream.
`void` `setContentLength(int value)` set the maximum number of bytes allowed to be read from this input stream.
`void` `setInputStream(java.io.InputStream in)` set the input stream to be used for subsequent reads
`int` `skip(int len)` skip over (and discard) a specified number of bytes in this input stream

Methods inherited from class java.io.InputStream
`mark, markSupported, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NonBlockingBufferedInputStream

    public NonBlockingBufferedInputStream()

Method Detail

### setInputStream

    public void setInputStream(java.io.InputStream in)

  set the input stream to be used for subsequent reads

  Parameters:
    `in` - the InputStream

### setContentLength

    public void setContentLength(int value)

  set the maximum number of bytes allowed to be read from this input stream.

  Parameters:
    `value` - the Content Length

### read

    public int read()
             throws java.io.IOException

  Read a byte from the input stream, blocking if necessary. Internally the data is buffered for efficiency.

  Returns:
    the byte read
  Throws:
    `java.io.IOException`

### read

    public int read(byte[] dest)
             throws java.io.IOException

  Read bytes from the input stream. This is guaranteed to return at least one byte or throw an exception. When possible, it will return more bytes, up to the length of the array, as long as doing so would not require waiting on bytes from the input stream.

  Parameters:
    `dest` - byte array to read into
  Returns:
    the number of bytes actually read
  Throws:
    `java.io.IOException`

### read

    public int read(byte[] dest,
                    int off,
                    int len)
             throws java.io.IOException

  Read a specified number of bytes from the input stream. This is guaranteed to return at least one byte or throw an execption. When possible, it will return more bytes, up to the length specified, as long as doing so would not require waiting on bytes from the input stream.

  Parameters:
    `dest` - byte array to read into
    `off` - starting offset into the byte array
    `len` - maximum number of bytes to read
  Returns:
    the number of bytes actually read
  Throws:
    `java.io.IOException`

### skip

    public int skip(int len)
             throws java.io.IOException

  skip over (and discard) a specified number of bytes in this input stream

  Parameters:
    `len` - the number of bytes to be skipped
  Returns:
    the action number of bytes skipped
  Throws:
    `java.io.IOException`

### available

    public int available()
                  throws java.io.IOException

  return the number of bytes available to be read without blocking

  Returns:
    the number of bytes
  Throws:
    `java.io.IOException`

### close

    public void close()
               throws java.io.IOException

  disassociate from the underlying input stream

  Throws:
    `java.io.IOException`

### peek

    public int peek()
             throws java.io.IOException

  Just like read except byte is not removed from the buffer. the data is buffered for efficiency. Was added to support multiline http headers. ;-)

  Returns:
    the byte read
  Throws:
    `java.io.IOException`

Copyright © 2005 Apache Web Services Project. All Rights Reserved.