Commit Graph

188 Commits

Author SHA1 Message Date
kercylan98 2d9ffad2ab refactor: client 包采用无界缓冲区替代通过 chan 实现的写通道,移除消息堆积功能,优化代码逻辑 2023-09-19 12:40:16 +08:00
kercylan98 dd1acfd017 feat: 新增 writeloop 包,内置了一个写循环的实现 2023-09-19 12:40:02 +08:00
kercylan98 42465a8f42 style: server 包为服务器启动添加 IP 信息,死锁检测的日志内容优化 2023-09-19 12:35:26 +08:00
kercylan98 810a9fdb73 refactor: server 包重构消息通道,采用无界缓冲区替代原本的 chan,解决消息通道的缓冲区达到上限时造成永久阻塞的问题,移除 WithMessageChannelSize 可选项,修改 WithShunt 可选项不再需要 channelGenerator 参数 2023-09-18 15:52:03 +08:00
kercylan98 e95e1ba399 fix: server 修复慢消息导致堆栈溢出的问题 2023-09-18 14:53:43 +08:00
kercylan98 2712f3b98e fix: 修复 gnet 作为服务器核心关闭时导致的空指针问题 2023-09-13 16:45:31 +08:00
kercylan98 dc3c7d2eea perf: server 包 websocket SetReadDeadline 优化 2023-09-12 18:41:35 +08:00
kercylan98 637ae27882 feat: router.Multistage 支持通过可选项创建 2023-09-12 15:01:47 +08:00
kercylan98 a0d5fc860a docs: 弃用文档优化 2023-09-12 13:28:06 +08:00
kercylan98 10cc443b3a feat: router 包新增 Multistage 多级分类路由器,用于替代原有的 1~3 级路由器 2023-09-12 12:29:14 +08:00
kercylan98 5103103fb5 docs: gateway 包注释优化 2023-09-09 17:10:13 +08:00
kercylan98 064d434a0c feat: server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小 2023-09-09 16:21:06 +08:00
kercylan98 0215c5449a fix: 修复 server.Conn 和 client.Client 连接关闭时发生的竞态问题 2023-09-09 14:12:57 +08:00
kercylan98 19df61b97f fix: 修复 server 关闭服务器后,如果等待消息结束过程中,新消息将阻塞的问题 2023-09-08 16:59:16 +08:00
kercylan98 6c882edb09 fix: server 修复消息计数始终为1的问题 2023-09-08 16:47:23 +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 5fb1dcbcea style: 常量调整为从 1 开始 2023-09-06 20:09:25 +08:00
kercylan98 4214ea4c2b test: 优化 server 服务器并发测试用例 2023-09-06 16:51:39 +08:00
kercylan98 3e35e73c90 fix: 修复 server 包 Server.RegConsoleCommandEvent 函数在无终端环境下导致 CPU 飙升的问题
当 fmt.Scanln 无法从标准输入(stdin)读取内容时(例如,如果没有交互式终端附加到进程),它可能会立即返回一个错误。这将导致
for 循环以极快的速度不断执行,从而导致 CPU 使用率飙升。
2023-09-06 15:03:10 +08:00
kercylan98 04c40bf873 feat: server 包 Server 新增 RegMessageReadyEvent 函数 2023-09-05 16:03:58 +08:00
kercylan98 034ca174b6 fix: client 包错误类型转换错误问题处理 2023-09-05 13:38:36 +08:00
kercylan98 15a491816a fix: 修复 server 包 RegMessageExecBeforeEvent 函数导致内存泄露的问题 2023-09-05 10:57:44 +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
kercylan98 6d5aa599d7 feat: gateway 支持连接与某一端点保持持久通讯,支持将端点的所有连接切换到另一端点 2023-09-01 20:25:23 +08:00
kercylan98 1cbe8ecf56 perf: 提高消息吞吐量,降低消息延迟 2023-09-01 14:31:25 +08:00
kercylan98 3ca6ed00ec feat: gateway 新增 WithEndpointConnectionPoolSize 支持配置与端点建立连接的数量 2023-09-01 14:30:57 +08:00
kercylan98 2ed52fc814 fix: server 包中 RegConsoleCommandEvent 函数空指针问题处理 2023-09-01 13:29:49 +08:00
kercylan98 8cd9979e2b fix: 修复 server 中 HTTP 服务器关闭时会引发空指针的问题 2023-08-31 13:32:42 +08:00
kercylan98 3062428051 fix: server 包修复服务器关闭后发送消息引起的空指针问题 2023-08-31 10:12:55 +08:00
kercylan98 cdfecb41e8 feat: gateway.Endpoint 支持设置重连间隔 2023-08-24 16:45:32 +08:00
kercylan98 30e7894a37 refactor: gateway 整体优化重构 2023-08-24 16:40:03 +08:00
kercylan98 a3bb10012e feat: client 包增加 tcp 客户端 2023-08-24 12:19:06 +08:00
kercylan98 124635c72c fix: 修复 tcp、udp、uds 等类型服务器数据包会额外增加一个长度的问题 2023-08-24 12:13:13 +08:00
kercylan98 1558b2868d style: 错误的命名更正 2023-08-24 11:55:44 +08:00
kercylan98 08559d8225 fix: client 包内存溢出、死循环等问题处理 2023-08-24 10:54:25 +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 6792e227c0 fix: 优化 uds 客户端无法正常接收数据包的问题 2023-08-22 15:34:10 +08:00
kercylan98 3de1f6b9d3 feat: server/client 新增 Unix Domain Socket 客户端 2023-08-22 15:20:03 +08:00
kercylan98 dc761964b9 refactor: 调整事件函数名称 2023-08-22 15:19:38 +08:00
kercylan98 5096e6f884 fix: 修复非 gateway 数据包导致数组越界的问题 2023-08-22 14:07:48 +08:00
kercylan98 811e1bd29e other: server 异步消息回调将不再使用 MessageTypeSystem,更改为 MessageTypeAsyncCallback 2023-08-21 18:48:52 +08:00
kercylan98 3c6ce9cfdf feat: server 包支持设置注册事件的优先级 2023-08-21 15:02:48 +08:00
kercylan98 7bf4e82183 fix: 修复 websocket 客户端死锁问题 2023-08-17 19:26:54 +08:00
kercylan98 351257033e feat: gateway 数据包支持像普通数据包一样处理,并且支持自定义端点健康评估函数 2023-08-17 18:46:59 +08:00
kercylan98 36a333379e feat: server.Server 的 HTTP 请求支持慢消息检测 2023-08-17 12:54:15 +08:00
kercylan98 b87df072fc feat: server.Server 新增 HttpServer 函数,用于替代 HttpRouter 2023-08-17 12:47:43 +08:00
kercylan98 93c5f3695f fix: server 包优化 Shutdown 逻辑,修复服务器关闭时不会等待消息执行完毕的问题 2023-08-17 10:38:16 +08:00