Commit Graph

291 Commits

Author SHA1 Message Date
kercylan98 3ad1330cd9 feat: concurrent.Pool 新增静默模式可选项 WithPoolSilent,在该模式下当缓冲区大小不足时,将不再输出警告日志 2023-09-19 12:41:13 +08:00
kercylan98 782a1adb37 feat: random 包通过权重和概率随机产生一个成员支持返回产生成员的索引或 Key 2023-09-19 12:37:53 +08:00
kercylan98 e9bc9fb481 feat: buffer.Unbounded 增加新的构造函数,支持省略 generateNil 函数,新增 IsClosed 函数检查无界缓冲区是否已经关闭 2023-09-19 12:37:18 +08:00
kercylan98 ab3926e307 fix: super 包优化 GetError 函数的空指针问题 2023-09-19 12:33:16 +08:00
kercylan98 810a9fdb73 refactor: server 包重构消息通道,采用无界缓冲区替代原本的 chan,解决消息通道的缓冲区达到上限时造成永久阻塞的问题,移除 WithMessageChannelSize 可选项,修改 WithShunt 可选项不再需要 channelGenerator 参数 2023-09-18 15:52:03 +08:00
kercylan98 d56c1df6e1 feat: buffer 包新增 Unbounded 实现 2023-09-18 12:16:37 +08:00
kercylan98 12d1abab9a feat: 新增 buffer 包,内置了一个环形缓冲区的实现 2023-09-18 10:28:23 +08:00
kercylan98 7c9bc46a35 feat: random 包新增 ProbabilitySlice 函数,用于基于概率产生一个结果,当概率总和小于 1 会发生未命中的情况,概率总和大于 1 将等比缩放至 1 2023-09-15 14:11:30 +08:00
kercylan98 30dbb14add feat: slice.Priority 优先级队列新增 Slice 函数,获取队列成员为切片类型 2023-09-11 16:34:08 +08:00
kercylan98 4982e6d7b6 test: slice 包新增部分单元测试 2023-09-11 14:50:27 +08:00
kercylan98 7a5e2c1e7e feat: utils 下新增 sorts.Topological 拓扑排序函数 2023-09-11 11:31:17 +08:00
kercylan98 82973dd11a fix: 修复 super.RegError 和 RegErrorRef 空指针问题 2023-09-09 17:22:21 +08:00
kercylan98 83b28003c8 perf: 调整 super 包 error 部分为使用后再申请内存 2023-09-09 15:26:43 +08:00
kercylan98 de7b085cf7 refactor: 重构 super 包中的 error 部分,优化设计不合理的地方,支持动态注册错误码,支持并发读写 2023-09-09 15:22:49 +08:00
kercylan98 8fd4e8f722 feat: survey 包 Report 新增 Avg、Count、Sum 等辅助计算函数 2023-09-09 09:39:27 +08:00
kercylan98 3c3dc83830 feat: survey 分析记录支持通过 GetTime 函数获取记录时间 2023-09-08 20:14:43 +08:00
kercylan98 5024022366 feat: stream.Slice 新增 Indexes 和 Map 函数 2023-09-08 14:44:48 +08:00
kercylan98 d9b68fc037 test: 新增 stream.Slice 测试用例 2023-09-08 13:27:42 +08:00
kercylan98 62ef35a518 feat: slice 包新增 Zoom 函数, stream 包支持 Zoom 函数 2023-09-08 13:27:25 +08:00
kercylan98 d72f18590b refactor: 重构 stream 包,提供更便捷的使用方式 2023-09-08 13:13:34 +08:00
kercylan98 d7724094d1 feat: 新增大量 slice 包和 hash 包的辅助函数 2023-09-08 13:13:01 +08:00
kercylan98 5ab990246d feat: 优化 slice 包 Filter 和 Map 函数,新增 Reduce 函数 2023-09-07 20:05:01 +08:00
kercylan98 a4ba3f1fa8 fix: 修复 survey.Analyzer 去重 BUG 2023-09-07 20:01:14 +08:00
kercylan98 989b9da33d perf: 优化 concurrent.Pool 池对象不够用的日志打印为 1 秒一次,而不是频繁打印 2023-09-06 16:53:33 +08:00
kercylan98 ac11e9e972 refactor: survey 包 AllWithPath 函数更改为 Analyze,新增分析报告,及分析器,提供方便的统计功能 2023-09-06 14:26:02 +08:00
kercylan98 da68945f7e feat: slice 包新增 Mapping 函数,支持将切片中的元素进行转换 2023-09-05 11:33:13 +08:00
kercylan98 518d47ae6a feat: super 包新增函数 IsNumber,用于判断一个值是否为数字类型 2023-08-26 09:18:35 +08:00
kercylan98 d9ba1bc85c refactor: 优化 survey,移除 All 函数,新增 Flusher 接口,可自行实现其他持久化方式 2023-08-25 15:47:40 +08:00
kercylan98 c6f8c19086 fix: survey 包修复 All 函数无用的返回参 2023-08-25 15:23:53 +08:00
kercylan98 0d765075e0 feat: counter 包增加简单去重计数器 2023-08-25 15:23:28 +08:00
kercylan98 0ad8a5c7d5 refactor: storage 包重构,优化整体设计 2023-08-24 18:32:13 +08:00
kercylan98 3fc282afab feat: survey.Reg 支持每次写入就持久化的策略 2023-08-24 12:02:42 +08:00
kercylan98 c9ff4570fe build: 更新依赖版本 2023-08-23 19:46:02 +08:00
kercylan98 4850dd4aa3 refactor: 调整 server 数据包相关处理函数的接收参数不再为 server.Packet,同时移除 server.Packet 2023-08-23 19:29:55 +08:00
kercylan98 4785c60c5e feat: survey.R 增加更多的辅助函数 2023-08-23 11:25:38 +08:00
kercylan98 50f6b1b085 perf: survey 包整体优化 2023-08-23 11:12:48 +08:00
kercylan98 e962009eff feat: 新增 survey 包,包含了运营日志的基本功能实现 2023-08-22 19:34:53 +08:00
kercylan98 ed45d1a643 fix: #40 uint 类型溢出问题处理 2023-08-22 15:52:11 +08:00
kercylan98 ab19bd6f6a feat: slice 包新增 Filter 函数用于过滤切片 2023-08-22 14:16:41 +08:00
kercylan98 d37fbb7aa2 feat: super 包新增大量 string 和 number 基本类型转换的辅助函数 2023-08-22 14:14:30 +08:00
kercylan98 89c32b4ce3 feat: super 包新增 StringToFloat64 函数 2023-08-22 14:07:04 +08:00
kercylan98 7f316d4a7a feat: hash 包增加 Clear 函数,用于清空 map 2023-08-22 14:06:40 +08:00
kercylan98 ab90fa8928 fix: 优化 go1.21 以下项目的兼容性 2023-08-22 14:06:20 +08:00
kercylan98 a1c15a2c26 other: 调整 log.Duration 和 log.DurationP 函数为 String 调用 2023-08-21 19:27:32 +08:00
kercylan98 a31369abbe fix: counter 包修复 mark key 无法被清理、重置的问题 2023-08-21 16:40:09 +08:00
kercylan98 64ecd459a1 feat: concurrent.Pool 新增 EAC 函数,用于动态调整缓冲区大小。优化超出缓冲区大小警告日志,增加堆栈信息,用于定位高频点 2023-08-21 16:06:44 +08:00
kercylan98 3c6ce9cfdf feat: server 包支持设置注册事件的优先级 2023-08-21 15:02:48 +08:00
kercylan98 2dd5dd5c6c feat: slice 包新增 GetValue 和 GetValueHandle 函数,用于获取特定索引的元素,如果索引超出范围将返回零值 2023-08-21 15:02:15 +08:00
kercylan98 93e63b1ace feat: slice 包新增优先级切片 2023-08-21 14:40:06 +08:00
kercylan98 34ca7f07d2 fix: 修复 count.Shadow 函数死锁问题 2023-08-21 14:03:32 +08:00