Commit Graph

157 Commits

Author SHA1 Message Date
kercylan98 92d6c5680d feat: times 包新增 GetWeekdayDateRelativeToNowWithOffset 及 GetWeekdayTimeRelativeToNowWithOffset 函数,用于取代 GetCurrWeekDate 和 GetLastWeekDate 函数 2024-03-18 12:39:26 +08:00
kercylan98 b81f972fda fix: 修复 server 包死锁检测中 Message 读写的竞态问题 2024-02-22 10:31:59 +08:00
kercylan98 e585e12a72 fix: 修复 server.LoadData 函数签名的错误 2024-01-29 11:27:08 +08:00
kercylan98 ebe7a70496 feat: server.Server.LoadData 函数支持加载 any 类型的数据 2024-01-24 09:49:04 +08:00
kercylan98 acc468492f feat: 支持向 server.Server 绑定一些数据 2024-01-23 16:53:42 +08:00
kercylan98 bbf70fab02 test: server 包完善部分测试用例 2024-01-15 17:27:29 +08:00
kercylan98 4e1d075a05 feat: server 支持通过 WithLowMessageDuration、WithAsyncLowMessageDuration 函数设置慢消息阈值 2024-01-12 18:43:47 +08:00
kercylan98 4f2850b355 feat: server.Server 在执行 Shutdown 时将会等待所有消息分发器被释放 2024-01-12 18:33:33 +08:00
kercylan98 e760ef2a0f fix: 修复 server 包异步分流消息的回调函数在取消分流渠道绑定后会在系统分流渠道执行的问题 2024-01-12 18:23:15 +08:00
kercylan98 3b71eca597 style: 优化 server 包部分代码可读性 2024-01-12 17:25:06 +08:00
kercylan98 af237448d7 fix: 修复 server 包连接断开消息分发器阻塞的问题,优化等待消息时打印的日志频率 2024-01-12 17:04:28 +08:00
kercylan98 a2a9199d41 test: 完善 dispatcher.Dispatcher 注释及测试用例 2024-01-12 13:48:57 +08:00
kercylan98 161fbfe4e3 refactor: 迁移 concurrent.Pool 至 hub.ObjectPool,并将 concurrent 包更名为 hub 2024-01-12 12:34:09 +08:00
kercylan98 66d903474d refactor: 移除 slice 包和 hash 包,新增 listings、mappings 包存放数组、切片、映射等数据结构,原 slice、hash 包中的工具函数迁移至 collection 包,与 sher 包合并并移除 sher 包。完善 collection 包测试用例 2024-01-11 17:50:04 +08:00
kercylan98 3408c212d0 refactor: 重构 server 包分流渠道设计,修复部分问题
- 使用 RingBuffer 实现分流渠道的无界缓冲区,修复分流渠道被关闭后,未处理完成的消息将会被丢弃的问题;
- 移除 server.WithDisableAutomaticReleaseShunt 可选项,分流渠道将在消息处理完毕且没有连接使用时自行释放;
2024-01-08 19:11:17 +08:00
kercylan98 3402c83fd4 fix: 修复 server 包部分问题,修复 log 包在 init 函数调用可能产生的空指针问题 2024-01-08 19:11:16 +08:00
kercylan98 2ff360c48c feat: sher 包增加部分转换和去重相关函数 2024-01-04 10:39:34 +08:00
kercylan98 71a3b34304 refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
kercylan98 31c68e42b7 feat: 修复 HTTP 服务器慢消息空指针问题 2024-01-02 17:28:45 +08:00
kercylan98 472fdc3a18 other: server 包部分内容可读性优化,增加健壮度 2023-12-29 12:02:12 +08:00
kercylan98 5e5fe8acca perf: 优化 server.Server 连接管理机制,优化 GetOnlineCount、GetOnlineBotCount 性能 2023-12-29 10:34:18 +08:00
kercylan98 26aa2d9ff8 fix: 修改 ShowServersInfo 函数可见性,修复服务器地址打印的指针问题 2023-12-26 17:23:28 +08:00
kercylan98 af0a5a1c25 style: 优化 server 包代码可读性 2023-12-25 17:40:55 +08:00
kercylan98 7ee4b893cd feat: server 包新增 WithWebsocketConnInitializer 函数,支持对 websocket 连接打开后进行初始化设置 2023-12-25 15:17:03 +08:00
kercylan98 e960d07f49 feat: server 包新增 WithWebsocketUpgrade 函数,支持自定义 websocket.Upgrader 2023-12-25 14:40:02 +08:00
kercylan98 bdf4a237df feat: server 包新增 service 模式的加载函数 server.BindService 2023-12-25 12:11:04 +08:00
kercylan98 d9ef3474a7 feat: server 包新增 WithDisableAutomaticReleaseShunt 可选项,可禁止分流渠道自动释放。增加 ReleaseShunt、HasShunt、GetShuntNum 等函数。优化系统分流渠道将不再能够被释放 2023-12-25 11:01:41 +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 05aeed05a1 feat: server 包增加消息统计相关函数 2023-12-22 16:57:00 +08:00
kercylan98 4f3b4eb1d5 other: 修改 server.WithTicker 将不再使用标准池的定时器,而是自行维护定时器池 2023-12-21 14:43:59 +08:00
kercylan98 2ff7db96d2 other: 优化 server 包消息分发时对于 cancel 的处理逻辑 2023-12-21 14:09:17 +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 e60017c0eb other: 优化 server 包消息分发 cancel 处理逻辑 2023-12-20 10:46:01 +08:00
kercylan98 82ecb98397 other: 优化 server 包部分 error 的处理方式 2023-12-20 09:48:03 +08:00
kercylan98 ba24b09c71 style: 移除 server 慢消息无意义的堆栈信息,优化消息的 String 函数返回的不再是简单的消息类型 2023-12-19 16:00:45 +08:00
kercylan98 b4ade2c003 feat: server 新增 DeadlockDetectEvent,以便于发生疑似死锁时刻能够执行通知等行为 2023-12-09 13:53:16 +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 c10494d3c2 recessive: 修正数据包默认警告大小 2023-11-28 09:35:20 +08:00
kercylan98 a3b4a9afe2 fix: server 启动日志包含错误的 Error 日志修复 2023-11-16 09:51:02 +08:00
kercylan98 4c092c04d2 feat: server 包新增机器人,可通过 server.NewBot 函数进行创建,机器人将模拟普通连接行为,适用于测试等场景 2023-11-13 16:05:32 +08:00
kercylan98 e2b7887b14 feat: server 新增 Unique 异步消息,可用于避免相同标识的异步消息在未执行完毕前重复执行 2023-11-13 14:16:38 +08:00
kercylan98 d2654cfc95 feat: 增强 server.RegConsoleCommandEvent 函数,支持 url 格式输入命令,并将命令解析为指令和参数 2023-11-11 19:24:58 +08:00
kercylan98 70f7a79c88 refactor: server 包重构及性能优化
1、由于设计不合理,移除 server
包中跨服相关的内容;
2、重构消息处理机制和消息分流机制并优化性能;
3、分流消息支持数据包、定时任务、异步回调的分流;
4、长连接支持获取定时器。
2023-11-10 18:40:55 +08:00
kercylan98 0b77cc9907 feat: server.Server 支持使用 PushAsyncMessage 快捷发布异步消息 2023-11-06 20:27:50 +08:00
kercylan98 b5b126ef07 perf: server 包异步消息不再执行额外 defer 2023-10-21 13:28:54 +08:00
kercylan98 cdbf388498 fix: server 包数据竞态问题优化 2023-10-21 13:15:41 +08:00
kercylan98 9e339065d4 refactor: cross 包服务器 id 更改为 string 类型 2023-10-21 11:14:10 +08:00