SMUX is a stream multiplexing library for Go that lets multiple logical streams share one reliable underlying connection. It is designed for transports such as TCP or KCP, where ordering and reliability are already provided by the lower layer. The library uses sessions, streams, and frames to manage many independent data flows over a single connection. It focuses on controlled memory usage, smooth receiving behavior, fair traffic shaping, and small protocol overhead. Its design includes a session-wide receive buffer, minimized 8-byte headers, and per-stream sliding windows in newer protocol versions. smux is especially useful for networking software that needs efficient connection management without opening a separate socket for every stream.

Features

  • Multiplexes many logical streams over one connection
  • Works over reliable ordered transports such as TCP or KCP
  • Uses sessions, streams, and frames for structured transport control
  • Provides token bucket controlled receiving
  • Uses a shared session-wide receive buffer for predictable memory usage
  • Includes fair queue traffic shaping and per-stream sliding windows

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow SMUX

SMUX Web Site

Other Useful Business Software
Veeam Data Platform v13.1 - Get Your Free Trial Icon
Veeam Data Platform v13.1 - Get Your Free Trial

Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
Try it Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of SMUX!

Additional Project Details

Programming Language

Go

Related Categories

Go Libraries

Registered

2026-06-11