# 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 引用** ```go // 删除或注释掉 // interceptor *transport.Interceptor ``` 2. **修复工厂函数调用** ```go // 检查正确的工厂函数名称 connect.NewFakeTCPFactory → ? connect.NewRealTCPFactory → ? ``` 3. **修复 TURN 协议类型** ```go connect.TURNProtocolUDP → ? connect.TURNProtocolTCP → ? ``` 4. **修复 Relay.Dial 调用** ```go 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%*