Commit Graph

17 Commits

Author SHA1 Message Date
kercylan98 bbf70fab02 test: server 包完善部分测试用例 2024-01-15 17:27:29 +08:00
kercylan98 3408c212d0 refactor: 重构 server 包分流渠道设计,修复部分问题
- 使用 RingBuffer 实现分流渠道的无界缓冲区,修复分流渠道被关闭后,未处理完成的消息将会被丢弃的问题;
- 移除 server.WithDisableAutomaticReleaseShunt 可选项,分流渠道将在消息处理完毕且没有连接使用时自行释放;
2024-01-08 19:11:17 +08:00
kercylan98 af0a5a1c25 style: 优化 server 包代码可读性 2023-12-25 17:40:55 +08:00
kercylan98 d27fa7c246 perf: 更改 server 和 conn 的消息实现为 channel 2023-12-23 19:05:39 +08:00
kercylan98 eb28d42bf1 refactor: server.Server 兼容新的 concurrent.Pool 和 buffer.Unbounded 2023-12-23 18:15:34 +08:00
kercylan98 4f3b4eb1d5 other: 修改 server.WithTicker 将不再使用标准池的定时器,而是自行维护定时器池 2023-12-21 14:43:59 +08:00
kercylan98 4d72e8cbcb fix: 修复 server 包未使用 KCP 服务器时会有额外的定时器损耗的问题 2023-12-20 12:21:43 +08:00
kercylan98 7e09229330 fix: 修复 server.Server 在使用 UseShunt 函数时由于未记录当前分发器导致的内存泄漏问题 2023-12-20 11:24:51 +08:00
kercylan98 dc557a06d4 refactor: 优化及重构 server 包关于 WebSocket 的消息类型和消息分流部分内容
- 优化 server 包中 WebSocket 服务器默认响应的消息类型与发信方不同步的问题;
- 移除 server.WithShunt
函数,调整为通过 server.Server.UseShunt 来动态分流渠道,例如可以将用户连接的渠道在用户自身渠道或游戏房间渠道来回切换;
2023-12-01 16:35:27 +08:00
kercylan98 d3ad49d11e refactor: 重构日志模块并清理未使用的依赖 2023-11-28 17:37:01 +08:00
kercylan98 70f7a79c88 refactor: server 包重构及性能优化
1、由于设计不合理,移除 server
包中跨服相关的内容;
2、重构消息处理机制和消息分流机制并优化性能;
3、分流消息支持数据包、定时任务、异步回调的分流;
4、长连接支持获取定时器。
2023-11-10 18:40:55 +08:00
kercylan98 064d434a0c feat: server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小 2023-09-09 16:21:06 +08:00
kercylan98 483ace2fa9 perf: server 包连接关闭逻辑优化 2023-09-08 15:54:51 +08:00
kercylan98 376ff779e1 refactor: 优化 server 包消息日志,移除 server.Conn.Reuse 函数(不合理) 2023-09-08 15:20:24 +08:00
kercylan98 4214ea4c2b test: 优化 server 服务器并发测试用例 2023-09-06 16:51:39 +08:00
kercylan98 0297c4444a feat: server 包新增 Server.RegMessageExecBeforeEvent 函数,支持在消息执行前进行处理,适用于限流等场景 2023-09-05 10:52:09 +08:00
kercylan98 add1e4bc8c fix: 修复宕机问题 2023-09-04 17:21:52 +08:00