Skip to content

Commit 73c8599

Browse files
committed
docs(wind): require uni-stream fallback when the peer cannot receive DATAGRAMs
Record the transport-selection rule that F18 exposed: DATAGRAM frames MUST NOT carry Packet commands unless the peer's `max_datagram_frame_size` transport parameter has been received, and otherwise the commands go out on unidirectional streams so a peer that cannot receive datagrams still receives its replies. Add the bullet to both the English and the Chinese edition. Assisted-by: DeepSeek Harness:deepseek-flash
1 parent 804dff1 commit 73c8599

2 files changed

Lines changed: 2 additions & 0 deletions

File tree

‎wind/docs/specs/tuic.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ A TUIC connection operates over a single QUIC connection. Multiple relay operati
9696
- **Unidirectional streams**: Used for commands that do not require a response (e.g., Authenticate, Packet, Dissociate).
9797
- **Bidirectional streams**: Used for TCP relay via Connect command.
9898
- **QUIC datagrams**: MAY be used for UDP packet relay for reduced latency.
99+
- **Transport selection**: DATAGRAM frames MUST NOT be used to relay Packet commands unless the peer's `max_datagram_frame_size` transport parameter has been received. When the peer does not advertise DATAGRAM support, Packet commands MUST be sent on unidirectional streams instead, so a peer that cannot receive datagrams still receives its replies.
99100

100101
## 4. Message Format
101102

‎wind/docs/tuic.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ TUIC 连接在单个 QUIC 连接上运行。多个中继操作(TCP 连接和 U
9696
- **单向流 (Unidirectional streams)**: 用于不需要响应的命令(例如:Authenticate、Packet、Dissociate)。
9797
- **双向流 (Bidirectional streams)**: 用于通过 Connect 命令进行的 TCP 中继。
9898
- **QUIC 数据报 (QUIC datagrams)**: 可以 (MAY) 用于 UDP 数据包中继以减少延迟。
99+
- **传输选择 (Transport selection)**: 除非已收到对端的 `max_datagram_frame_size` 传输参数,否则禁止 (MUST NOT) 使用 DATAGRAM 帧中继 Packet 命令。对端未通告 DATAGRAM 支持时,必须 (MUST) 改用单向流发送 Packet 命令,以确保无法接收数据报的对端仍能收到应答。
99100

100101
## 4. 消息格式 (Message Format)
101102

0 commit comments

Comments
 (0)