tango.io.stream.Greedy

License:

BSD style: see license.txt

Version:

Initial release: June 2007

Author:

Kris
class GreedyInput : InputFilter
A conduit filter that ensures its input is read in full. There's also an optional readExact() for more explicit requests.
this(InputStream stream)
Propagate ctor to superclass.
size_t read(void[] dst) [override, final]
Fill the provided array. Returns the number of bytes actually read, which will be less that dst.length when Eof has been reached, and then Eof thereafter.
GreedyInput readExact(void[] dst) [final]
Read from a stream into a target array. The provided dst will be fully populated with content from the input.
This differs from read in that it will throw an exception where an Eof condition is reached before input has completed.
class GreedyOutput : OutputFilter
A conduit filter that ensures its output is written in full. There's also an optional writeExact() for more explicit requests.
this(OutputStream stream)
Propagate ctor to superclass.
size_t write(const(void)[] src) [override, final]
Consume everything we were given. Returns the number of bytes written which will be less than src.length only when an Eof condition is reached, and Eof from that point forward.
GreedyOutput writeExact(void[] src) [final]
Write to stream from a source array. The provided src content will be written in full to the output.
This differs from write in that it will throw an exception where an Eof condition is reached before output has completed.