Updates(20160808):
- Add hidden parameters
sockbuf
: send/recv buffer size of udp sockets, default to 4MB.(macOS limit, pre: 16MB.)keepalive
: NAT keepalive interval(in seconds) to prevent your router from removing port mapping, default to 10s.(pre:5s.)
- Optimized Algorithms:
- If TX queue is not empty, ping packet is unnecessary to fire.
- FEC search range is more precise.
- PAWS detection is not required in
markData()
of FEC. - CLI parameters are parsed only once after startup. (provided by @buaazp)
- _Explicitly dereference data immediately, hopefully this would lower memory usage. (Update: 20160809)_
- _Do not update RTT for recovered packets from FEC. (Update: 20160810)_
- API optimize
- Listener has it's own
SetDSCP()
function.
- Listener has it's own
累计非关键更新(20160808):
- 增加隐藏参数
sockbuf
:用于调整udp socket的收发缓冲区大小, 默认值为4MB。(macOS限制, 前值为16MB。)keepalive
:用于调整NAT keepalive的间隔时间,避免路由器清除端口映射。(默认值10s, 前值5s。)
- 优化的算法:
- 如果传输队列非空,则不需要发送ping包。
- FEC更精确的搜索范围。
- FEC的
markData()
不需要检测PAWS。 - 启动后只解析一次命令行参数。(@buaazp提供)
- _数据队列显式的去引用,希望能降低内存使用。(Update: 20160809)_
- _RTT计算优化,不计入通过FEC纠错而来的RTT。(Update: 20160810)_
- API优化
- Listener实现独立的
SetDSCP()
函数。
- Listener实现独立的
_Compiler: go version go1.7rc6 darwin/amd64_
MD5 (kcptun-linux-amd64-20160808.tar.gz) = 067f9d34af47a46b34bae84aa7e2fc4b
MD5 (kcptun-linux-386-20160808.tar.gz) = 16bd01035c1237c2181042f1b1a3c761
MD5 (kcptun-darwin-amd64-20160808.tar.gz) = 2480f95c7a6c61ab6eb74d8fe0a27014
MD5 (kcptun-darwin-386-20160808.tar.gz) = ffc5c6873aabbc9816b593cb613560f1
MD5 (kcptun-windows-amd64-20160808.tar.gz) = 60dc203168c16818c27a9fd60d27b32a
MD5 (kcptun-windows-386-20160808.tar.gz) = a2378c9c5486ea470f005b51a1e49d99
MD5 (kcptun-freebsd-amd64-20160808.tar.gz) = 9c30d84b15efb82df18f3196aa64bde1
MD5 (kcptun-freebsd-386-20160808.tar.gz) = 6c7e0cdd2c413ac52c605b0f9d284528
MD5 (kcptun-linux-arm-20160808.tar.gz) = da983d001cd5731d3bb484020a24e4ea