com.caucho.vfs
Class PipeStream

java.lang.Object
  |
  +--com.caucho.vfs.StreamImpl
        |
        +--com.caucho.vfs.PipeStream

public class PipeStream
extends StreamImpl

Stream allowing two threads to read and write to each other.


Fields inherited from class com.caucho.vfs.StreamImpl
path
 
Method Summary
 boolean canRead()
          PipeStreams can read
 boolean canWrite()
          The pipe stream can write.
 void close()
           
static java.lang.Object[] create()
          Creates a pipe pair.
 int getAvailable()
          Return the available bytes.
 int read(byte[] buf, int offset, int length)
          Reads the available bytes if any, otherwise block.
 void write(byte[] buf, int offset, int length)
          Implementation of the pipe write.
 
Methods inherited from class com.caucho.vfs.StreamImpl
clearWrite, flush, getAttribute, getAttributeNames, getFlushOnNewline, getNewline, getPath, getReadPosition, removeAttribute, setAttribute, setPath, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static java.lang.Object[] create()
Creates a pipe pair. The first object is a ReadStream, the second is a WriteStream.

canRead

public boolean canRead()
PipeStreams can read
Overrides:
canRead in class StreamImpl

read

public int read(byte[] buf,
                int offset,
                int length)
         throws java.io.IOException
Reads the available bytes if any, otherwise block.
Overrides:
read in class StreamImpl

getAvailable

public int getAvailable()
                 throws java.io.IOException
Return the available bytes.
Overrides:
getAvailable in class StreamImpl

canWrite

public boolean canWrite()
The pipe stream can write.
Overrides:
canWrite in class StreamImpl

write

public void write(byte[] buf,
                  int offset,
                  int length)
           throws java.io.IOException
Implementation of the pipe write.
Overrides:
write in class StreamImpl

close

public void close()
           throws java.io.IOException
Overrides:
close in class StreamImpl