Pipe

public abstract class Pipe extends Object

A pair of channels that implements a unidirectional pipe.

A pipe consists of a pair of channels: A writable sink channel and a readable source channel. Once some bytes are written to the sink channel they can be read from source channel in exactlyAthe order in which they were written.

Whether or not a thread writing bytes to a pipe will block until another thread reads those bytes, or some previously-written bytes, from the pipe is system-dependent and therefore unspecified. Many pipe implementations will buffer up to a certain number of bytes between the sink and source channels, but such buffering should not be assumed.

Nested Class Summary

class Pipe.SinkChannel A channel representing the writable end of a Pipe
class Pipe.SourceChannel A channel representing the readable end of a Pipe

Protected Constructor Summary

Pipe()
Initializes a new instance of this class.

Public Method Summary

static Pipe
open()
Opens a pipe.
abstract Pipe.SinkChannel
sink()
Returns this pipe's sink channel.
abstract Pipe.SourceChannel
source()
Returns this pipe's source channel.

Inherited Method Summary

Protected Constructors

protected Pipe ()

Initializes a new instance of this class.

Public Methods

public static Pipe open ()

Opens a pipe.

The new pipe is created by invoking the openPipe method of the system-wide default SelectorProvider object.

Returns
  • A new pipe
Throws
IOException If an I/O error occurs

public abstract Pipe.SinkChannel sink ()

Returns this pipe's sink channel.

Returns
  • This pipe's sink channel

public abstract Pipe.SourceChannel source ()

Returns this pipe's source channel.

Returns
  • This pipe's source channel