Source: https://blog.marcgravell.com/2018/07/pipe-dreams-part-1.html
- decoupled and overlapped reader/writer access to a binary stream
- buffer management (pooling, recycling)
- threading awareness
- rich backlog control
- over-fill protection via back-pressure
- the data is more simply a “first in first out” queue
- a writer API that can push data in at one end, and a reader API that can pull the data out at the other