Proto commits in kercylan98/minotaur

These 64 commits are when the Protocol Buffers files have changed:

Commit:e04925f
Author:kercylan98

feat(skeleton): 实现集群模式下的 RPC 功能 - 新增 RPCModule 模块,用于处理跨节点的 RPC 请求 - 在 ActorSystem 中集成集群功能,支持节点发现和消息广播 - 添加 NodeId 方法以获取集群节点 ID- 修改 Application Context 以支持集群配置 - 新增示例应用和测试配置,验证集群功能

The documentation is generated from this commit.

Commit:4cc14da
Author:kercylan98

feat(cluster): 重构集群逻辑,移除固定 Actor 提供者概念,优化集群同步的并发安全问题,暴露集群用户状态接口 - 移除了 FixedActorProvider 相关的代码和概念- 重构了 OnlyActor 的处理逻辑,使用集群收敛事件来同步状态 - 优化了 ActorSystemConfiguration 结构,删除了不必要的字段 - 简化了 ActorSystem 的实现,移除了与固定 Actor 提供者相关的代码

Commit:7ea53a3
Author:kercylan98

refactor(cluster): 重构集群收敛逻辑,修复可用节点错误的问题

Commit:ca4efdb
Author:kercylan

feat(vivid): 实现 Actor之间的心跳检测机制 - 新增 Ping 和 Pong 消息类型,用于心跳检测 - 在 actor_context.go 中添加 Ping 消息的处理逻辑 - 在 messages.go 中添加 Ping 函数,用于发送 Ping 消息并接收 Pong 响应 - 更新 internal_messages.proto 和相关生成文件,添加新的消息类型

Commit:82d4a25
Author:kercylan

feat(cluster): 实现集群内唯一存活 Actor 功能 - 新增唯一 Actor 生成功能,在集群内只创建一个指定类型的 Actor - 实现唯一 Actor 的自动迁移功能,当节点故障时自动在其他节点重新创建 - 优化集群收敛事件处理逻辑,增加对存活节点和唯一 Actor 的处理 - 新增测试用例验证唯一 Actor 功能的正确性

Commit:7b3466c
Author:kercylan98

feat(cluster): 实现集群内唯一 Actor 选择机制 - 新增节点状态初始化和维护逻辑 - 实现集群收敛后的节点信息处理 - 添加唯一 Actor 提供者注册和管理功能 - 优化节点排序算法,确定唯一 Actor 的选择规则

Commit:ef837cf
Author:kercylan98

refactor(skeleton): 重构配置相关代码 - 新增 BootstrapConfig 和 Configuration 结构体 -重新设计配置加载流程,支持模板配置和环境配置 - 移除冗余的 GetBootstrapConfig 和 LoadBootstrapConfig 方法 - 优化 Application 和 Repository 接口,简化配置相关逻辑 - 更新 Context 结构,增加配置相关方法 - 调整 FiberModule 初始化配置 - 更新示例应用,演示新配置方式的使用

Commit:ab38293
Author:kercylan98

feat(cluster): 添加固定 Actor 生成器支持 - 新增 FixedActorProvider 接口和相关实现- 添加 ActorSystem 的 PublishLocal 方法 - 实现集群内的 SpawnFixedActor 功能 - 优化 Node 管理和负载均衡策略

Commit:68b1f2b
Author:kercylan98
Committer:kercylan98

refactor(datasheet): 重构数据表模块

Commit:9fabf84
Author:kercylan98

feat(datasheet): 添加数据表解析功能 - 实现了数据表结构的解析,支持嵌套结构、数组、切片、映射等复杂类型 - 添加了数据表原始数据的加载和处理逻辑 - 生成了数据表的 protobuf 定义和相关代码 - 实现了数据表的生成和错误处理逻辑

Commit:f60813c
Author:kercylan98

refactor(vivid): 移除设计不合理的 typed 内容,调整 proto 消息结构

Commit:51dbc99
Author:kercylan

refactor(vivid): 重构部分 proto 文件可读性,优化代码逻辑

Commit:b479afd
Author:kercylan

build(minotaur): 调整 goluac 路径到 vivid 目录下,项目 proto 文件内容优化

Commit:cc9fe42
Author:kercylan

Merge remote-tracking branch 'origin/develop' into develop # Conflicts: # engine/vivid/cluster/internal/cm/cm.pb.go # engine/vivid/cluster/internal/cm/cm.proto # engine/vivid/cluster/internal/gossip/gossip.pb.go

Commit:6d78aa4
Author:kercylan

build(minotaur): 使用 Buf 维护项目 proto 文件,移除之前大量的 generate-protobuf.bat 文件

Commit:cb099dd
Author:kercylan98

feat(goluac): 为 LuaMessage 添加反序列化方法并优化文档注释 - 为 LuaMessage 类型添加了三种反序列化方法:Unmarshal、UnmarshalE 和 UnmarshalP - 在 goluac.pb.go 和 goluac.proto 文件中,为 LuaMessage 结构体添加了详细的文档注释 - 明确了 from_lua 和 from_lua_reply 字段的用途,并提醒用户不要擅自修改这些值

Commit:e22df6d
Author:kercylan98

feat(goluac): 增加 Lua 消息回复机制并优化消息处理 - 新增 LuaMessage 结构,用于创建和处理 Lua 消息 - 实现消息回复机制,允许 Lua 侧接收回复消息 - 优化消息发送流程,支持消息名和数据分离 - 添加 ActorReplyCapture组件,用于捕获和处理回复消息 - 更新相关测试用例和文档

Commit:e26a020
Author:kercylan98

feat(goluac): 重构 Go 和 Lua 交互逻辑 - 新增 actor_context.go,整合 ActorContext 和 Lua 状态 - 重构 component.go,优化组件注册和消息处理 - 更新 goluac_test.go 和 goluac_test.lua,演示新的交互方式 - 删除不必要的文件和代码,精简项目结构

Commit:468e087
Author:kercylan98

feat(goluac): 完善 Lua 支持 - 重构 Goluac 组件,可绑定 Lua 脚本到 Actor - 实现 Lua 脚本中 actor、json、errors 等模块 - 添加 LuaMessage 类型用于消息传递 - 优化 ActorSystem 启动日志输出 - 移除旧的 LuaComponent 接口

Commit:663191f
Author:kercylan98

refactor(cluster): 移除无用代码

Commit:9b3348b
Author:kercylan98

feat(prc): 优化消息传递机制,避免数据丢失 - 新增消息存档功能,存储关闭连接期间未发送的消息 - 重构 DeliveryMessage 和 BatchDeliveryMessage 的数据结构 - 优化消息处理逻辑,提高系统可靠性

Commit:14970f7
Author:kercylan98

refactor(cluster): 移除陈旧集群功能

Commit:38dc688
Author:kercylan98

feat(cluster): 增加基于 gossip actor 的集群 ActorSystem 基本实现

Commit:8e74040
Author:kercylan98

feat(gossip): 新增节点在无法触达状态保持十分钟将被自动移除

Commit:74495f9
Author:kercylan98

feat(vivid): gossip 心跳增加收敛

Commit:dc2bcfc
Author:kercylan98

fix(vivid): 优化 gossip 在传播消息时可能将更陈旧的消息合并,从而导致状态回滚。另外增加未完善且存在缺陷的心跳机制

Commit:296b242
Author:kercylan98

feat(vivid): 新增基于 gossip 集群的基本实现 在基本实现中包含了节点的加入和离开行为

Commit:ab56f61
Author:kercylan98

refactor(vivid): 移除消息 Seq 设计 同一 Actor 发出的消息将始终是有序的,该设计并无意义,故移除

Commit:58d9c52
Author:kercylan98

fix(vivid): 修复在启动 ActorSystem 后立即发起分布式订阅并发送消息时可能导致部分消息无法被远端接收到的问题 该问题主要导致原因为 ActorSystem 尚未准备好与远端的绑定,从而无法投递消息到远端进行通知,目前绑定行为将使用 FutureAsk 进行等待

Commit:83cf44f
Author:kercylan98

feat(vivid): 消息增加序列信息,以便未来更好的进行扩展

Commit:931e9f7
Author:kercylan98

🐛 vivid.Typed 代码生成包名错误修复

Commit:f8b4687
Author:kercylan98

✨ vivid 新增 AbyssTopic 主题,用于订阅消息投递到深渊中的事件。

Commit:db49975
Author:kercylan98

✨ vivid 支持订阅与发布功能,并且支持在共享环境及集群环境内使用!并且订阅将跟随 Actor 生命周期进行释放,避免内存泄漏。

Commit:c09708a
Author:kercylan98

✨ 导出 vivid 和 prc 包与网络、集群相关的部分功能,以支持更好的扩展

Commit:97b71d4
Author:kercylan98

✨ vivid 新增用于类型化消息接口的 typed 包,它通过 protoc 代码生成实现

Commit:e683ce6
Author:kercylan98

♻️ vivid 集群功能重构,增加未完善的类型化 Typed 功能

Commit:a74cb49
Author:kercylan

♻️ ax 调整

Commit:a6ddd5d
Author:kercylan98

♻️ 调整 ProcessRef 不再直接读取 id 属性,更改为通过函数读取

Commit:11cf0d0
Author:kercylan98

✨ Actor 支持慢处理检测选项了,它允许设置接收人并在满处理发生时投递到对应 Actor 进行处理

Commit:d95000b
Author:kercylan98

♻️ 移除无用引用名称,简化理解成本

Commit:bf7ecde
Author:kercylan98

✨ vivid 中增加对于错误堆栈的追踪,并且支持通过 ActorSystem 的可选项将其关闭。在 fiber 的 WebSocket 支持中优化了关闭连接时的数据竞争问题。聊天房间的示例进一步优化。

Commit:e7add42
Author:kercylan98

✅ 移除陈旧的示例,增加简单聊天室的示例

Commit:abe7899
Author:kercylan

✨ prc 中集群 metadata 增加节点启动时间

Commit:21c2ae0
Author:kercylan98

✨ vivid 新增 Watch 实现,它允许监听特定 Actor Ref 的生命周期结束事件

Commit:ccc3536
Author:kercylan

♻️ 移除 core 包,由 engine 进行取代

Commit:f2e983a
Author:kercylan

♻️ Actor 状态持久化重构实现

Commit:629d55a
Author:kercylan

♻️ vivid 核心功能重构完成,包含更多测试用例及更清晰的结构。迁移 vivid、prc、future 包到 engine 目录下,core 目录将逐步移除并由 engine 目录取代。另外,Actor 增加了定时调度器相关函数,不用在可选项中开启,将在使用时懒加载。另外增加了空闲周期时限及生命周期时限的支持集群使用的可选项。

Commit:3dec812
Author:kercylan98

🧐 为了更好的实现,重构尝试。ActorSystem 在开启集群的情况下,Actor 将被分散到不同节点中,目前仅是随机而已。并且 Actor 的父 Actor 支持了来自网络的 Actor!

Commit:cdd1fd0
Author:kercylan98

🧐 为了更好的实现,重构尝试。vivid 消息调整为指针,并且支持通过网络终止其他 ActorSystem 中的 Actor

Commit:c97bab9
Author:kercylan98

🧐 为了更好的实现,重构尝试。增加 prc.Shared 配置项,ActorSystem 可以基于 Shared 实现消息交互、优化跨网络消息发送,支持批量发送。 修复 future 无超时时间的 panic 异常

Commit:b346a01
Author:kercylan98

🧐 为了更好的实现,重构尝试。增加 behavior 行为管理包、新增基于 GRPC 的 prc.Shared 用于让资源控制器之间支持跨网络交互

Commit:1fc9c81
Author:kercylan

🧐 为了更好的实现,重构尝试

Commit:6983049
Author:kercylan98

🧐 为了更好的实现,重构尝试

Commit:ae0da49
Author:kercylan98

✨ 网关基本模型实现

Commit:903128b
Author:kercylan98

🐛 修复集群通讯部分问题

Commit:27847be
Author:kercylan98

✅ 增加 Actor 与 ECS 共同实现的加入房间示例

Commit:8ce8d18
Author:kercylan98

🐛 修复 vivid.(ActorSystem/ActorContext).KindOf 无法被设置父 Actor 的问题

Commit:adf88e7
Author:kercylan98

✨ vivid 支持远程创建 Actor

Commit:c8ced20
Author:kercylan98

♻️ vivid 重构,项目结构调整,增加 WebSocket 实现

Commit:716024b
Author:kercylan98

♻️ vivid 重构,远程 Actor 发送消息调整为批量发送,序列化额外支持部分内建类型

Commit:6038e75
Author:kercylan98

♻️ vivid 重构,分布式消息(待优化)

Commit:68d103f
Author:kercylan98

♻️ vivid 重构,跨网络基本实现

Commit:481ccc1
Author:kercylan98

重构服务器

This commit does not contain any .proto files.

Commit:3248cc9
Author:kercylan98

init commit