TPipedTransport

Pipes data request from one transport to another when readEnd() or writeEnd() is called.

A typical use case would be to log requests on e.g. a socket to disk (i. e. pipe them to a TFileWriterTransport).

The implementation keeps an internal buffer which expands to hold the whole amount of data read/written until the corresponding *End() method is called.

Contrary to the C++ implementation, this doesn't introduce yet another layer of input/output buffering, all calls are passed to the underlying source transport verbatim.

Constructors

this
this(Source srcTrans, TTransport dstTrans, size_t initialBufferSize)

Constructs a new instance.

Members

Functions

close
void close()
Undocumented in source. Be warned that the author may not have intended to support it.
flush
void flush()
Undocumented in source. Be warned that the author may not have intended to support it.
isOpen
bool isOpen()
Undocumented in source. Be warned that the author may not have intended to support it.
open
void open()
Undocumented in source. Be warned that the author may not have intended to support it.
peek
bool peek()
Undocumented in source. Be warned that the author may not have intended to support it.
pipeReads
bool pipeReads()
Undocumented in source. Be warned that the author may not have intended to support it.
pipeReads
void pipeReads(bool value)
Undocumented in source. Be warned that the author may not have intended to support it.
pipeWrites
bool pipeWrites()
Undocumented in source. Be warned that the author may not have intended to support it.
pipeWrites
void pipeWrites(bool value)
Undocumented in source. Be warned that the author may not have intended to support it.
read
size_t read(ubyte[] buf)
Undocumented in source. Be warned that the author may not have intended to support it.
readEnd
size_t readEnd()
Undocumented in source. Be warned that the author may not have intended to support it.
write
void write(ubyte[] buf)
Undocumented in source. Be warned that the author may not have intended to support it.
writeEnd
size_t writeEnd()
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

DEFAULT_INITIAL_BUFFER_SIZE
enum DEFAULT_INITIAL_BUFFER_SIZE;

The default initial buffer size if not explicitly specified, in bytes.

Inherited Members

From TBaseTransport

isOpen
bool isOpen()
Undocumented in source. Be warned that the author may not have intended to support it.
peek
bool peek()
Undocumented in source. Be warned that the author may not have intended to support it.
open
void open()
Undocumented in source. Be warned that the author may not have intended to support it.
close
void close()
Undocumented in source. Be warned that the author may not have intended to support it.
read
size_t read(ubyte[] buf)
Undocumented in source. Be warned that the author may not have intended to support it.
readAll
void readAll(ubyte[] buf)
Undocumented in source. Be warned that the author may not have intended to support it.
readEnd
size_t readEnd()
Undocumented in source. Be warned that the author may not have intended to support it.
write
void write(ubyte[] buf)
Undocumented in source. Be warned that the author may not have intended to support it.
writeEnd
size_t writeEnd()
Undocumented in source. Be warned that the author may not have intended to support it.
flush
void flush()
Undocumented in source. Be warned that the author may not have intended to support it.
borrow
const(ubyte)[] borrow(ubyte* buf, size_t len)
Undocumented in source. Be warned that the author may not have intended to support it.
consume
void consume(size_t len)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta