Support per-stream flow control and bugfix in KCP
- New option
-smuxver
, default is set to1
which is compatible with previous releases. Now you can set-smuxver
to2
to enable per-stream flow control to make back-pressure on the remote sender and prevent connections from starving. Adjust-streambuf
to set per-stream max memory usage, eg:-streambuf 2097152
.
Related issues: #722, xtaci/smux#18
(Important note: smux version 1 and version 2 are not compatiblity, you need to upgrade on both sides to enable this feature.) - Writable notification in kcp-go became more accurate.
- Fixed a bug in kcp, which may retransmit more segments than required. https://github.com/xtaci/kcp-go/releases/tag/v5.4.10
Recommended to upgrade
$ go version
go version go1.13 linux/amd64
$ date
Tue Sep 24 13:30:51 CST 2019
$ shasum *.tar.gz
8c9fe3dbfa13347bf9fc445aadecd374693ed58f kcptun-linux-amd64-20190924.tar.gz
0ca047871be5b3fa1d8fde0d7f1a890b052e1aea kcptun-darwin-amd64-20190924.tar.gz
2cbd7098af1c7c210a531fa80ace6d6fc68288af kcptun-windows-amd64-20190924.tar.gz
13c306c66762250fc19e36c4ae55903eaaece12e kcptun-freebsd-amd64-20190924.tar.gz
f33a6d40f01387d8e74b344b80e614e3981eb576 kcptun-linux-386-20190924.tar.gz
530d380a6e750991553466a44c1e64a53061a250 kcptun-windows-386-20190924.tar.gz
1841d8c1d04a825be57d702506e7123a9058256f kcptun-linux-arm5-20190924.tar.gz
13de58842dd2f1b3feea17359d6ce674e5812c46 kcptun-linux-arm6-20190924.tar.gz
c92218c141b4138181de26568736f7647f4eab40 kcptun-linux-arm7-20190924.tar.gz
2b76c1431e785a81243f91dfa3def478a38e7e1c kcptun-linux-arm64-20190924.tar.gz
e1dcbc5430717a90db49639e186206cbb3738474 kcptun-linux-mipsle-20190924.tar.gz
ce068bd04bfcf5ae9db6844d474fcac4d6619f32 kcptun-linux-mips-20190924.tar.gz