From a74b5eac0f6a3e0205cef23d669a8274096ce8d5 Mon Sep 17 00:00:00 2001 From: xtaci Date: Tue, 28 Mar 2017 12:36:49 +0800 Subject: [PATCH] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6086d44..c01c346 100644 --- a/README.md +++ b/README.md @@ -17,14 +17,15 @@ ## Introduction -Smux ( **S**imple **MU**ltiple**X**ing) is a multiplexing library for Golang. It relies on an underlying connection to provide reliability and ordering, such as TCP or [KCP](https://github.com/xtaci/kcp-go), and provides stream-oriented multiplexing. +Smux ( **S**imple **MU**ltiple**X**ing) is a multiplexing library for Golang. It relies on an underlying connection to provide reliability and ordering, such as TCP or [KCP](https://github.com/xtaci/kcp-go), and provides stream-oriented multiplexing. The original intention of this library is to power the connection management for [kcp-go](https://github.com/xtaci/kcp-go). ## Features 1. Tiny, less than 600 LOC. 2. ***Token bucket*** controlled receiving, which provides smoother bandwidth graph(see picture below). -3. Session-wide receive buffer, which is shared among streams. +3. Session-wide receive buffer, shared among streams, tightly controlled overall memory usage. 4. Minimized header(8Bytes), maximized payload. +5. Well-tested on millions of devices in [kcptun](https://github.com/xtaci/kcptun). ![smooth bandwidth curve](curve.jpg)