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
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start 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