rcs.utils
Class CorrectedPipedInputStream
java.lang.Object
java.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)
- See Also:
CorrectedPipedOutputStream
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 |
debug_on
public static final boolean debug_on
- See Also:
- Constant Field Values
CorrectedPipedInputStream
public CorrectedPipedInputStream()
CorrectedPipedInputStream
public CorrectedPipedInputStream(rcs.utils.CorrectedPipedOutputStreamInterface out)
get_pipe_data
public rcs.utils.CorrectedPipeData get_pipe_data()
available
public int available()
- Overrides:
available
in class java.io.InputStream
close
public void close()
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.InputStream
read
public int read()
throws java.io.IOException
- Specified by:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException