The TAsyncManager associated with this transport.
Whether this transport is open.
Tests whether there is more data to read or if the remote side is still open.
Opens the transport for communications.
Closes the transport.
Attempts to fill the given buffer by reading data.
Fills the given buffer by reading data into it, failing if not enough data is available.
Must be called by clients when read is completed.
Writes the passed slice of data.
Must be called by clients when write is completed.
Flushes any pending data to be written.
Attempts to return a slice of <code>len</code> bytes of incoming data, possibly copied into buf, not consuming them (i.e.: a later read will return the same data).
Remove len bytes from the transport. This must always follow a borrow of at least len bytes, and should always succeed.
A TTransport which uses a TAsyncManager to schedule non-blocking operations.
The actual type of device is not specified; typically, implementations will depend on an interface derived from TAsyncManager to be notified of changes in the transport state.
The peeking, reading, writing and flushing methods must always be called from within the associated async manager.