|
|||||||||
| Home >> All >> rcs >> [ utils overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
rcs.utils
Class CorrectedPipedInputStream

java.lang.Objectjava.io.InputStream
rcs.utils.CorrectedPipedInputStream
- All Implemented Interfaces:
- java.io.Closeable
- public class CorrectedPipedInputStream
- extends java.io.InputStream
This class provides the same interface as java.io.PipedInputStream except that it corrects the problem that when java.io.PipedOutputStream has 1k or more written to it, it blocks until the some of the data is read from the input pipe before more can be written. CorrectedPipedInputStream/CorrectedPipedOutputStream only block for mutual exclusion but will allow any amount of data(atleast until you run out of memory) to be written to the pipe without waiting for a read.
Related Documentation: RCS Library, NML Programmers Guide (Java Version) Source Code: CorrectedPipedInputStream.java
| Field Summary | |
static boolean |
debug_on
|
(package private) CorrectedPipedOutputStream |
out_stream
|
(package private) CorrectedPipeData |
pipe_data
|
| Constructor Summary | |
CorrectedPipedInputStream()
|
|
CorrectedPipedInputStream(CorrectedPipedOutputStream out)
|
|
| Method Summary | |
int |
available()
This method returns the number of bytes that can be read from this stream before a read can block. |
void |
close()
This method closes the stream. |
int |
read()
This method reads an unsigned byte from the input stream and returns it as an int in the range of 0-255. |
int |
read(byte[] b)
This method reads bytes from a stream and stores them into a caller supplied buffer. |
int |
read(byte[] b,
int off,
int len)
This method read bytes from a stream and stores them into a caller supplied buffer. |
| 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 |
| Field Detail |
out_stream
CorrectedPipedOutputStream out_stream
pipe_data
CorrectedPipeData pipe_data
debug_on
public static final boolean debug_on
- See Also:
- Constant Field Values
| Constructor Detail |
CorrectedPipedInputStream
public CorrectedPipedInputStream()
CorrectedPipedInputStream
public CorrectedPipedInputStream(CorrectedPipedOutputStream out)
| Method Detail |
available
public int available()
- Description copied from class:
java.io.InputStream - This method returns the number of bytes that can be read from this
stream before a read can block. A return of 0 indicates that blocking
might (or might not) occur on the very next read attempt.
This method always returns 0 in this class
close
public void close()
- Description copied from class:
java.io.InputStream - This method closes the stream. Any futher attempts to read from the
stream may generate an
IOExceptionThis method does nothing in this class, but subclasses may override this method in order to provide additional functionality.
read
public int read()
throws java.io.IOException
- Description copied from class:
java.io.InputStream - This method reads an unsigned byte from the input stream and returns it
as an int in the range of 0-255. This method also will return -1 if
the end of the stream has been reached.
This method will block until the byte can be read.
read
public int read(byte[] b)
throws java.io.IOException
- Description copied from class:
java.io.InputStream - This method reads bytes from a stream and stores them into a caller
supplied buffer. This method attempts to completely fill the buffer,
but can return before doing so. The actual number of bytes read is
returned as an int. A -1 is returned to indicate the end of the stream.
This method will block until some data can be read.
This method operates by calling an overloaded read method like so:
read(b, 0, b.length)
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Description copied from class:
java.io.InputStream - This method read bytes from a stream and stores them into a
caller supplied buffer. It starts storing the data at index
offinto the buffer and attempts to readlenbytes. This method can return before reading the number of bytes requested. The actual number of bytes read is returned as an int. A -1 is returned to indicate the end of the stream.This method will block until some data can be read.
This method operates by calling the single byte
read()method in a loop until the desired number of bytes are read. The read loop stops short if the end of the stream is encountered or if an IOException is encountered on any read operation except the first. If the first attempt to read a bytes fails, the IOException is allowed to propagate upward. And subsequent IOException is caught and treated identically to an end of stream condition. Subclasses can (and should if possible) override this method to provide a more efficient implementation.
|
|||||||||
| Home >> All >> rcs >> [ utils overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC