133 lines
3.9 KiB
Markdown
133 lines
3.9 KiB
Markdown
# 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%*
|