Releases
v0.3.6
0.3.6 (2023-12-21)
Other | 其他更改
Russh vulnerable to Prefix Truncation Attack against ChaCha20-Poly1305 and Encrypt-then-MAC #7 (34a680e )
优化 server 包消息分发 cancel 处理逻辑 (e60017c )
优化 server 包消息分发时对于 cancel 的处理逻辑 (2ff7db9 )
优化 server 包部分 error 的处理方式 (82ecb98 )
修改 server.WithTicker 将不再使用标准池的定时器,而是自行维护定时器池 (4f3b4eb )
Features | 新特性
generic 包新增 Unsigned 表示无符号整数的约束类型 (9371890 )
slice 包新增 PagedSlice 结构,它通过分页管理内存并减少频繁的内存分配来提高性能 (7069431 )
super 包新增比特掩码类型 BitMask,可通过 super.Mask 函数创建。该类型可替代 super.Permission (38cc312 )
super.RetryByExponentialBackoff 和 super.ConditionalRetryByExponentialBackoff 支持设置忽略的错误,当返回忽略的错误时将不再进行重试 (5714a43 )
timer.Pool 新增 Release 函数,可主动释放池中的所有定时器及池子本身 (ae98963 )
timer.Ticker 新增 CronByInstantly 函数,支持在设置定时任务前先执行一次任务 (12619b5 )
优化 timer 包的 GetTicker 获取到的为内置定时器池中的定时器,可通过 timer.NewTimer 创建定时器池另行使用 (1ae1c8d )
移除 super.BitMask 以 super.BitSet 替代,super.BitSet 是一个可动态增长的比特位集合 (05c65e9 )
Bug Fixes | 修复
修复 server 包未使用 KCP 服务器时会有额外的定时器损耗的问题 (4d72e8c )
修复 server.Server 在使用 UseShunt 函数时由于未记录当前分发器导致的内存泄漏问题 (7e09229 )
修复 timer.Ticker 和 lockstep 包存在的内存泄漏问题 (508e30f )
修复 timer.Ticker 的 CronByInstantly 函数导致的死锁问题 (8a8610f )
Styling | 可读性优化
修改 timer.Timer 名字为 timer.Pool (50181c7 )
移除 server 慢消息无意义的堆栈信息,优化消息的 String 函数返回的不再是简单的消息类型 (ba24b09 )
Performance Improvements | 性能优化
移除 lockstep 对 timer.Ticket 的依赖,更改为 time.Ticker 实现,减少不必要的资源占用 (9038bfc )
You can’t perform that action at this time.