定位(2026-10-29 方案裁决 A1-A4): 纯 Rust、平台无关,只做「怎么连 + 收发什么」——QUIC 会话、协议 v2 认证、 视频帧流、输入上行、Ping/Pong、KeyFrameReq。解码/渲染/触摸全在 Kotlin 侧, 本 crate 不碰像素、不依赖 openh264(dev-dependency 仅验证工具用)。 设计要点 - PeerTarget::Direct 是唯一的连接形态;不做中继、不定义 Relay 变体 (《多平台架构设计》§6.1 裁决)。将来设备码+打洞只换 connect() 内部。 - 帧经容量 2 的 mpsc 交付,**不丢帧**:跳帧决策属于看得到解码器状态的消费方 (Kotlin),Rust 层丢帧会重演 R-3 教训(跳帧断参考链)。 - insecure_skip_verify=false 时明确报错而非静默放行——证书钉扎登记在方案 阶段 4,安全红线不允许默默降级。 - 双流结构与桌面 viewer 一致(流1 认证+视频,流2 输入+控制),入会即请求 IDR。 验证(headless,桌面→桌面 127.0.0.1) - 单测 3 passed(帧契约、默认配置、strict-verify 显式报错) - examples/headless_check:300 帧,seq 违例 0、keyframe 标志不符 0、 解码成功 300/300、RTT 路径工作(RTT=1ms 出现) - 全 workspace 回归:common 20 passed,构建全绿 |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| Cargo.toml | ||