vibe.d beta banner
get vibe.d
0.10.1

Asynchronous I/O that doesn’t get in your way, written in D

Class EndCallbackInputStream

Wraps an input stream and calls the given delegate once the stream is empty.

class EndCallbackInputStream
  : InputStream ;

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.

Constructors

NameDescription
this (input, callback)

Properties

NameTypeDescription
dataAvailableForRead[get] bool(Scheduled for deprecation) Queries if there is data available for immediate, non-blocking read.
empty[get] boolReturns true iff the end of the input stream has been reached.
leastSize[get] ulong(Scheduled for deprecation) Returns the maximum number of bytes that are known to remain available for read.

Methods

NameDescription
peek () Returns a temporary reference to the data that is currently buffered.
read (dst, mode) Fills the preallocated array 'bytes' with data from the stream.
read (dst) Fills the preallocated array 'bytes' with data from the stream.

Aliases

NameDescription
read
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.