Class TaskPipe

Implements a unidirectional data pipe between two tasks.

Inherits from

Constructors

Name Description
this Constructs a new pipe ready for use.

Properties

Name Type Description
bufferSize [get, set] ulong Size of the (fixed) FIFO buffer used to transfer data between tasks
connected [get] bool Determines The current connection status.
dataAvailableForRead [get] bool Queries if there is data available for immediate, non-blocking read.
empty [get] bool Returns true iff the end of the input stream has been reached.
leastSize [get] ulong Returns the maximum number of bytes that are known to remain in this stream until the end is reached. After leastSize() bytes have been read, the stream will either have reached EOS and empty() returns true, or leastSize() returns again a number > 0.
reader [get] InputStream Read end of the pipe (scheduled for deprecation)
writer [get] OutputStream Write end of the pipe (scheduled for deprecation)

Methods

Name Description
close Actively closes the connection and frees associated resources.
finalize Flushes and finalizes the stream.
flush Flushes the stream and makes sure that all data is being written to the output device.
peek Returns a temporary reference to the data that is currently buffered, typically has the size leastSize() or 0 if dataAvailableForRead() returns false.
read Fills the preallocated array 'bytes' with data from the stream.
waitForData Sets a timeout until data has to be availabe for read. Returns false on timeout.
write Writes an array of bytes to the stream.
write Pipes an InputStream directly into this OutputStream.
put These methods provide an output range interface.
write Writes an array of chars to the stream.

Authors

Sönke Ludwig

Copyright

© 2013 RejectedSoftware e.K.

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.