此前 in_tun_loop/out_tun_loop 是两个独立任务,任一方向出错后 另一方向继续运行:TUN 处于半开状态,一个方向的流量被静默吞掉, 无恢复也无上报。 修复:两个方向合并为单个任务并用 tokio::select! 组合,任一方向 结束(出错或设备关闭)即取消另一方向并记录日志。DeviceTask 相应合并为单 SubTask。 注:依赖真实 TUN 设备,未做端到端测试;全部既有单测通过。
此前 in_tun_loop/out_tun_loop 是两个独立任务,任一方向出错后 另一方向继续运行:TUN 处于半开状态,一个方向的流量被静默吞掉, 无恢复也无上报。 修复:两个方向合并为单个任务并用 tokio::select! 组合,任一方向 结束(出错或设备关闭)即取消另一方向并记录日志。DeviceTask 相应合并为单 SubTask。 注:依赖真实 TUN 设备,未做端到端测试;全部既有单测通过。