Overview of Yamux
masterYamux (Yet another Multiplexer) is a Golang library that provides stream-oriented multiplexing over reliable, ordered underlying connections like TCP or Unix domain sockets. It is inspired by SPDY but is not interoperable with it.
Key features include:
- Bi-directional streams: Streams can be opened by either the client or the server, supporting NAT traversal and server-side push.
- Flow control: Implements back-pressure to prevent overwhelming a receiver and avoids resource starvation.
- Keep Alives: Enables persistent connections, which is useful for maintaining connections through load balancers.
- Efficiency: Designed to support thousands of logical streams with low overhead.