Commit Graph

435 Commits

Author SHA1 Message Date
kercylan98
e30c5788c1 test: 完善 collection 包测试用例 2024-01-12 11:59:55 +08:00
kercylan98
e3d966e215 test: collection 包完善测试用例 2024-01-11 18:46:10 +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
96953d74e2 feat: sher 包新增 FindInSlice 和 FindInSliceByBinary 函数 2024-01-05 09:31:41 +08:00
kercylan98
2ff360c48c feat: sher 包增加部分转换和去重相关函数 2024-01-04 10:39:34 +08:00
kercylan98
3e41068619 feat: 优化 log 包,支持动态修改日志级别 2024-01-03 17:55:47 +08:00
kercylan98
71a3b34304 refactor: 重构 log 包,由 zap 改为 slog 2024-01-05 00:18:32 +08:00
kercylan98
bb06cbfeb0 feat: sher 包新增将任一切片转换为 []any 的函数 2024-01-05 00:18:08 +08:00
kercylan98
7086281399 feat: sher 包新增 map 相关映射操作 2023-12-29 16:19:49 +08:00
kercylan98
515cbc66eb feat: 新增 utils/sher 包,包含了对 slice 及 hash 常用的操作函数。用于未来对 utils/slice 和 utils/hash 包进行替换 2023-12-29 16:03:07 +08:00
kercylan98
a7b0497d4f refactor: 移除 reflects.DeepCopy 无效函数 2023-12-29 14:20:50 +08:00
kercylan98
cf42ed649a refactor: 优化 slice 包中的 Copy 和 CopyMatrix 的函数签名和实现方式,不影响已有代码 2023-12-29 14:11:20 +08:00
kercylan98
efbde3e3f8 feat: super 包新增 TryWriteChannelByHandler 函数,支持尝试写入 channel,如果 channel 无法写入则执行 handler 2023-12-29 12:16:51 +08:00
kercylan98
5b53e8a2ac feat: super 包新增 TryWriteChannel 函数,支持尝试性的对 channel 进行写入 2023-12-29 11:49:52 +08:00
kercylan98
5a898f58dc feat: reflects 包新增 FuncWrapper 相关函数 2023-12-27 10:57:57 +08:00
kercylan98
7efe88a0f4 feat: super 包新增 RecoverTransform 函数,用于将 recover() 结果转化为 error 2023-12-25 14:39:26 +08:00
kercylan98
c3e1581289 other: 示例及 buffer README.md 更新 2023-12-23 18:16:01 +08:00
kercylan98
8f4e65219e test: concurrent.Pool 增加测试用例 2023-12-23 18:13:57 +08:00
kercylan98
3877b28baa refactor: 优化 concurrent.Pool 的实现,移除构造函数中对 size 的要求。更改为使用 sync.Pool 的内置实现 2023-12-23 18:13:13 +08:00
kercylan98
cc5274ce62 test: 增加 buffer.Unbounded 测试用例 2023-12-23 18:09:11 +08:00
kercylan98
7111350022 perf: 去除 buffer.Unbounded 不必要的构造函数和 nil 字段 2023-12-23 18:08:53 +08:00
kercylan98
6bd987fce5 feat: compress 新增 tar 和 zip 解压缩函数 2023-12-23 12:17:29 +08:00
kercylan98
1afae90f69 docs: 优化 aoi、arrangement、buffer、combination、compress 包文档 2023-12-23 12:17:08 +08:00
kercylan98
af189ab26b feat: huge 包新增 Float 实现 2023-12-23 11:38:21 +08:00
kercylan98
9d9f7a3854 docs: 增加 space 包 README.md 文档,优化 room 相关内容可读性 2023-12-23 10:59:20 +08:00
kercylan98
f26feb8bcd refactor: 将 moving、aoi、leaderboard 包从 game 包中移动至 utils 包 2023-12-22 11:08:54 +08:00
kercylan98
4ce6043c72 refactor: 将 fsm 包从 game 包中移动至 utils 包 2023-12-22 11:07:28 +08:00
kercylan98
ae98963ecc feat: timer.Pool 新增 Release 函数,可主动释放池中的所有定时器及池子本身 2023-12-21 14:43:55 +08:00
kercylan98
50181c7ecb style: 修改 timer.Timer 名字为 timer.Pool 2023-12-21 14:37:17 +08:00
kercylan98
1ae1c8d65c feat: 优化 timer 包的 GetTicker 获取到的为内置定时器池中的定时器,可通过 timer.NewTimer 创建定时器池另行使用 2023-12-21 14:22:18 +08:00
kercylan98
508e30fb5b fix: 修复 timer.Ticker 和 lockstep 包存在的内存泄漏问题 2023-12-20 16:57:54 +08:00
kercylan98
9371890638 feat: generic 包新增 Unsigned 表示无符号整数的约束类型 2023-12-19 15:59:56 +08:00
kercylan98
05c65e9efd feat: 移除 super.BitMask 以 super.BitSet 替代,super.BitSet 是一个可动态增长的比特位集合 2023-12-15 16:21:03 +08:00
kercylan98
70694311c6 feat: slice 包新增 PagedSlice 结构,它通过分页管理内存并减少频繁的内存分配来提高性能 2023-12-13 19:37:45 +08:00
kercylan98
38cc3129ba feat: super 包新增比特掩码类型 BitMask,可通过 super.Mask 函数创建。该类型可替代 super.Permission 2023-12-13 17:07:57 +08:00
kercylan98
8a8610f756 fix: 修复 timer.Ticker 的 CronByInstantly 函数导致的死锁问题 2023-12-12 11:50:58 +08:00
kercylan98
5714a437cc feat: super.RetryByExponentialBackoff 和 super.ConditionalRetryByExponentialBackoff 支持设置忽略的错误,当返回忽略的错误时将不再进行重试 2023-12-12 10:52:51 +08:00
kercylan98
12619b5fa4 feat: timer.Ticker 新增 CronByInstantly 函数,支持在设置定时任务前先执行一次任务 2023-12-12 10:52:01 +08:00
kercylan98
5ffd8163f0 feat: super 包新增 NumberToRome 函数,支持将整数转为罗马数字 2023-12-11 11:47:39 +08:00
kercylan98
9068c57299 fix: 修复 log 日志切割不生效问题 2023-12-11 11:26:24 +08:00
kercylan98
ad60e797f4 recessive: 移除 fmt.Println 2023-12-09 10:29:12 +08:00
kercylan98
f19e7ccefa fix: 修复 file.ReadLineWithParallel 函数由于错误的读取数量导致重复读和效率低下的问题 2023-12-09 10:26:51 +08:00
kercylan98
52c92c8844 test: super 包中新增版本比较相关的测试用例 2023-12-05 12:07:50 +08:00
kercylan98
f060af2b7d feat: maths 新增 MakeLastDigitsZero 函数,用于将传入数字的末位 n 位设置为 0 2023-12-04 14:00:30 +08:00
kercylan98
f3ae5a3957 fix: 修复 file.ReadLineWithParallel 函数返回的偏移值不准确的问题 2023-12-01 17:21:43 +08:00
kercylan98
8e94a6681e feat: sole 包支持获取自增循环的 id,同时支持自增循环的 string 类型的数字 id 2023-12-01 10:38:33 +08:00
kercylan98
6127fb63e1 feat: huge.Int 增加部分辅助函数 2023-12-01 10:37:32 +08:00
kercylan98
23d223508b feat: super 包新增 OldVersion 和 CompareVersion 函数用于版本比较 2023-11-29 20:01:35 +08:00