Files
Meshray-Manager/docs/core 对齐进度报告.md
2026-06-30 15:14:37 +08:00

3.9 KiB
Raw Permalink Blame History

Core 模块与 README 对齐进度报告

已完成的目录结构调整(2026-03-24)

1. connect/ 目录 完全对齐

README 规划 实际文件 状态
strategy.go strategy.go
direct.go direct.go
fake_tcp.go fake_tcp.go
real_tcp.go real_tcp.go
turn.go turn.go
ice.go ice.go
ws.go ws.go
- turn_quic.go 合理扩展

2. client/ 目录 完全对齐

README 规划 实际文件 状态
stun_client.go stun_client.go
turn_client.go turn_client.go
ws_client.go ws_client.go

3. transport/ 目录 ⚠️ 部分对齐

README 规划 实际文件 状态
bind_port.go bind_port.go
relay.go relay.go 重构版
wgparse.go wgparse.go 新建

4. core/ 根目录 ⚠️ 部分对齐

README 规划 实际文件 状态
core.go core.go
engine.go engine.go 新建
bind.go bind.go 重命名(原 connection_manager.go
metrics.go metrics.go 新建

5. pool/ 目录 已创建

README 规划 实际文件 状态
connpool.go connpool.go 新建

待完成的代码重构

问题:core.go 引用了旧的 API

错误列表

core\core.go:36:25: undefined: transport.Interceptor
core\core.go:78:34: undefined: connect.NewFakeTCPFactory
core\core.go:81:34: undefined: connect.NewRealTCPFactory
core\core.go:84:57: undefined: connect.TURNProtocolUDP
core\core.go:87:57: undefined: connect.TURNProtocolTCP
core\core.go:228:23: c.relay.Dial undefined
core\core.go:246:28: undefined: transport.NewInterceptor
core\core.go:247:10: c.relay.SetInterceptor undefined

需要修复的文件

  • core/core.go - 更新为使用新的 API
  • core/connect/fake_tcp.go - 确认工厂函数名
  • core/connect/real_tcp.go - 确认工厂函数名
  • core/connect/turn.go - 确认协议类型定义

📊 对齐进度

目录结构对齐:95%

目录 进度 说明
connect/ 100% 所有文件已对齐
client/ 100% 所有文件已对齐
transport/ 100% 所有文件已创建
pool/ 100% 已创建
根目录 100% engine.go, bind.go, metrics.go 已创建

代码重构对齐:70%

模块 进度 说明
connect/ 100% 工厂模式已完成
client/ 100% 协议客户端已完成
transport/ 100% Bind/Relay/WGParse 已完成
core.go 50% 需要更新旧 API 引用

🔧 下一步行动

P0 - 立即修复(阻塞编译)

  1. 修复 core.go 中的 Interceptor 引用

    // 删除或注释掉
    // interceptor *transport.Interceptor
    
  2. 修复工厂函数调用

    // 检查正确的工厂函数名称
    connect.NewFakeTCPFactory  ?
    connect.NewRealTCPFactory  ?
    
  3. 修复 TURN 协议类型

    connect.TURNProtocolUDP  ?
    connect.TURNProtocolTCP  ?
    
  4. 修复 Relay.Dial 调用

    c.relay.Dial  c.relay.DialPeer (或其他正确方法)
    

P1 - 后续优化

  1. 完善 turn.go 实现 - 调用 client/turn_client.go
  2. 验证 engine.go 集成 - 确保引擎正确启动
  3. 测试连接池 - 验证 connpool.go 的功能
  4. 添加单元测试 - 为新创建的文件添加测试

创建时间:2026-03-24 01:45
版本:v2.1.0
目录对齐: 95% | 代码重构: 70%