Interface representing a bidirectional transport.
There may be several implementations, but typically, the user does not implement new transports; rather, the platform provides some useful transports that are implemented using the platform's best practices.
The user never instantiates a transport directly; they call a utility function, passing it a protocol factory and other information necessary to create the transport and protocol. (E.g. $(D_PSYMBOL EventLoop.createConnection()) or $(D_PSYMBOL EventLoop.createServer()).)
The utility function will asynchronously create a transport and a protocol and hook them up by calling the protocol's $(D_PSYMBOL connectionMade()) method, passing it the transport.
Pause the receiving end.
Resume the receiving end.
Close the transport immediately, without waiting for pending operations to complete.
Get the high- and low-water limits for write flow control.
Set the high- and low-water limits for write flow control.
Write some data bytes to the transport.
Close the write end of the transport after flushing buffered data.