Class EndCallbackInputStream
Wraps an input stream and calls the given delegate once the stream is empty
.
Note that this function will potentially block after each read
operation to
see if the end has already been reached - this may take as long until either
new data has arrived or until the connection was closed.
The stream will also guarantee that the inner stream is not used after it
has been determined to be empty
. It can thus be safely deleted once the
callback is invoked.
Inherits from
-
(base class)Object
-
InputStream
Constructors
Name | Description |
---|---|
this
|
Properties
Name | Type | Description |
---|---|---|
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.
|
Methods
Name | Description |
---|---|
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. |
Authors
Sönke Ludwig
Copyright
© 2012 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.