Release external resources.
Throw a generic IO exception with the provided msg.
Return the name of this conduit.
All streams now support seek(), so this is used to signal a seekable conduit instead.
Indicates the conduit supports resize/truncation.
Return a preferred size for buffering conduit I/O.
Is the conduit alive?
Read from stream into a target array. The provided dst will be populated with content from the stream.
Load the bits from a stream, and return them all in an array. The optional max value indicates the maximum number of bytes to be read.
Return the upstream source.
Write to stream from a source array. The provided src content will be written to the stream.
Transfer the content of another stream to this one. Returns a reference to this class, and throws IOException on failure.
Return the upstream sink.
Conduits provide virtualized access to external content, and represent things like files or Internet connections. Conduits expose a pair of streams, are modelled by tango.io.model.IConduit, and are implemented via classes such as File & SocketConduit.
Additional kinds of conduit are easy to construct: one either subclasses tango.io.device.Conduit, or implements tango.io.model.IConduit. A conduit typically reads and writes from/to an IBuffer in large chunks, typically the entire buffer. Alternatively, one can invoke input.read(dst[]) and/or output.write(src[]) directly.