4.2 KiB
4.2 KiB
其他模块待修复问题清单
📋 概述
Core 模块重构已完成(100%),但其他模块在使用 Core 时还存在一些编译问题需要修复。
❌ 已发现的问题
1. internal/store/sqlite/store.go
问题:引用了已删除的 model.ServiceProvider
位置:第 42 行
影响:编译失败
修复方案:
- &model.ServiceProvider{}, // 服务注册表(替代旧 Server)
状态:✅ 已修复
2. core/proto/core_grpc.pb.go
问题:引用了未定义的消息类型
位置:整个文件
影响:编译失败
原因:
- 该文件试图使用 protobuf 生成的代码风格
- 但实际上没有 protoc 编译器生成
- 消息类型(如
CreateCoreRequest)在core_grpc.go中手动定义
修复方案:
# 删除该文件,使用 core/grpc_service.go 中的手动实现
rm core/proto/core_grpc.pb.go
状态:✅ 已修复
3. internal/ctr/core_client.go
问题:使用旧的 proto API
位置:多处(315, 326, 359 等)
影响:编译失败
具体问题:
proto.PeerBinding- proto 文件中存在,但生成的代码可能不匹配proto.BindRequest字段不匹配:- 旧代码:
CoreId,Peers - Proto 文件:
engine_id,peers
- 旧代码:
proto.UnbindRequest- proto 文件中不存在该方法c.client.Unbind()- gRPC client 没有这个方法
根本原因:
internal/ctr/core_client.go使用的是项目根目录的proto/包- 该 proto 包是旧的版本(Engine 架构)
- 而 Core 模块重构后使用了新的架构(Core 而非 Engine)
修复方案:
方案 A:更新 proto 文件(推荐)
- 更新
proto/core.proto以匹配新的 Core 架构 - 重新生成 protobuf 代码
- 更新
core_client.go使用新 API
方案 B:更新 core_client.go 适配现有 proto
- 修改
core_client.go使用engine_id而非core_id - 删除
Unbind相关调用 - 调整字段名称
状态:⏳ 待修复
🔧 修复建议
优先级 P0 - 阻塞编译
-
删除废弃文件 ✅
rm core/proto/core_grpc.pb.go -
修复 store.go ✅
// 删除 ServiceProvider 引用
优先级 P1 - 应用层适配
-
统一 proto 接口 ⏳
- 确定使用 Engine 还是 Core 架构
- 更新 proto 文件
- 重新生成代码
-
更新 core_client.go ⏳
- 适配新的 proto 接口
- 更新字段名称
- 删除废弃方法
📊 影响范围
受影响的模块
| 模块 | 问题数 | 严重程度 | 修复优先级 |
|---|---|---|---|
core/ |
0 | - | ✅ 已完成 |
internal/store/ |
1 | 高 | ✅ 已修复 |
internal/ctr/ |
3 | 高 | ⏳ P1 |
proto/ |
1 | 中 | ⏳ P1 |
编译状态
# Core 模块
✅ go build ./core # 通过
✅ go build ./core/connect # 通过
✅ go build ./core/transport # 通过
✅ go build ./core/pool # 通过
# 其他模块
❌ go build ./... # 失败
- internal/store/sqlite # ✅ 已修复
- internal/ctr # ⏳ 待修复
- proto # ⏳ 待修复
🎯 下一步行动
立即执行(P0)
- ✅ 删除
core/proto/core_grpc.pb.go - ✅ 修复
internal/store/sqlite/store.go
后续完善(P1)
-
确定架构方向 ⏳
- 使用 Engine 还是 Core?
- 统一 proto 接口定义
-
更新应用层代码 ⏳
internal/ctr/core_client.go- 其他使用 Core 的地方
-
全量编译测试 ⏳
go build ./...
📝 备注
Core 模块重构完成度
- ✅ Core 模块自身:100% 完成
- ✅ 目录结构:完全对齐 README
- ✅ 编译验证:
go build ./core通过 - ⏳ 应用层集成:待适配
架构一致性
当前存在两个版本的 proto 定义:
- 旧版本:
proto/core.proto- Engine 架构 - 新版本:
core/README.md- Core 架构
需要统一为 Core 架构。
更新时间:2026-03-24 04:45
版本:v2.2.0
状态:Core 模块 100% 完成,应用层集成待修复