This trait is mostly intended for ByteBuffers which need to be copied to the heap if they need to be buffered, basically in every other case copy can just return itself
Wraps 2 sinks and will automatically begin reading from the second only when the first is empty.
A Pipe is a callback-based data transport abstraction meant for handling streams.
A Sink is the write side of a pipe.
A Source is the read side of a pipe.
trait representing a decoded message that is actually a stream