新增: df-tunnel Phase2 WS隧道客户端(出站穿NAT+Hello握手+收发循环)
- WsTunnelClient: connect_async连df-relay /ws/device + Hello(HelloKind::Device) - 握手探测(HANDSHAKE_PROBE 3s):无负帧=relay静默通过 / error帧=Auth失败 / Close=Connect失败 - 收发循环: socket入帧→parse_command_from_broadcast提payload(kind=command)→on_command回调; mpsc出帧→socket写; heartbeat 25s Ping - cleanup_conn: Close帧+500ms等task+abort兜底; connected用Arc<AtomicBool>共享 - backoff_delay(1→2→4→8→16→30s cap)预留Phase3 supervisor自动重连 - 协议对齐 df-relay(Hello字段/方向Event↔Command/payload透传),cargo check零warning+4测试通过
This commit is contained in:
@@ -22,5 +22,5 @@ pub mod tunnel;
|
||||
|
||||
// 顶层再导出常用项,简化调用方 use
|
||||
pub use error::{Result, TunnelError};
|
||||
pub use events::{TunnelCommand, TunnelEvent, TunnelMessage};
|
||||
pub use events::{Hello, HelloKind, RelayControlError, TunnelCommand, TunnelEvent, TunnelMessage};
|
||||
pub use tunnel::{TunnelClient, WsTunnelClient};
|
||||
|
||||
Reference in New Issue
Block a user