Bits | Stream Type |
---|---|
0x0 | Client-Initiated, Bidirectional |
0x1 | Server-Initiated, Bidirectional |
0x2 | Client-Initiated, Unidirectional |
0x3 | Server-Initiated, Unidirectional |
Sending Part | Receiving Part | Composite State |
---|---|---|
No Stream/Ready | No Stream/Recv *1 | idle |
Ready/Send/Data Sent | Recv/Size Known | open |
Ready/Send/Data Sent | Data Recvd/Data Read | half-closed (remote) |
Ready/Send/Data Sent | Reset Recvd/Reset Read | half-closed (remote) |
Data Recvd | Recv/Size Known | half-closed (local) |
Reset Sent/Reset Recvd | Recv/Size Known | half-closed (local) |
Reset Sent/Reset Recvd | Data Recvd/Data Read | closed |
Reset Sent/Reset Recvd | Reset Recvd/Reset Read | closed |
Data Recvd | Data Recvd/Data Read | closed |
Data Recvd | Reset Recvd/Reset Read | closed |
Type Value | Frame Type Name | Definition | Pkts | Spec |
---|---|---|---|---|
0x00 | PADDING |
|
IH01 | NP |
0x01 | PING |
|
IH01 | |
0x02 - 0x03 | ACK |
|
IH_1 | NC |
0x04 | RESET_STREAM |
|
__01 | |
0x05 | STOP_SENDING |
|
__01 | |
0x06 | CRYPTO |
|
IH_1 | |
0x07 | NEW_TOKEN |
|
___1 | |
0x08 - 0x0f | STREAM |
|
__01 | F |
0x10 | MAX_DATA |
|
__01 | |
0x11 | MAX_STREAM_DATA |
|
__01 | |
0x12 - 0x13 | MAX_STREAMS |
|
__01 | |
0x14 | DATA_BLOCKED |
|
__01 | |
0x15 | STREAM_DATA_BLOCKED |
|
__01 | |
0x16 - 0x17 | STREAMS_BLOCKED |
|
__01 | |
0x18 | NEW_CONNECTION_ID |
|
__01 | P |
0x19 | RETIRE_CONNECTION_ID |
|
__01 | |
0x1a | PATH_CHALLENGE |
|
__01 | P |
0x1b | PATH_RESPONSE |
|
__01 | P |
0x1c - 0x1d | CONNECTION_CLOSE |
|
ih01 | N |
0x1e | HANDSHAKE_DONE |
|
___1 |
2Bit | Length | Usable Bits | Range |
---|---|---|---|
00 | 1 | 6 | 0-63 |
01 | 2 | 14 | 0-16383 |
10 | 4 | 30 | 0-1073741823 |
11 | 8 | 62 | 0-4611686018427387903 |
Type | Name | Section |
---|---|---|
0x0 | Initial |
|
0x1 | 0-RTT |
|
0x2 | Handshake |
|
0x3 | Retry |
|
Value | Parameter Name | Specification |
---|---|---|
0x00 | original_destination_connection_id |
|
0x01 | max_idle_timeout |
|
0x02 | stateless_reset_token |
|
0x03 | max_udp_payload_size |
|
0x04 | initial_max_data |
|
0x05 | initial_max_stream_data_bidi_local |
|
0x06 | initial_max_stream_data_bidi_remote |
|
0x07 | initial_max_stream_data_uni |
|
0x08 | initial_max_streams_bidi |
|
0x09 | initial_max_streams_uni |
|
0x0a | ack_delay_exponent |
|
0x0b | max_ack_delay |
|
0x0c | disable_active_migration |
|
0x0d | preferred_address |
|
0x0e | active_connection_id_limit |
|
0x0f | initial_source_connection_id |
|
0x10 | retry_source_connection_id |
|
Value | Error | Description | Specification |
---|---|---|---|
0x0 | NO_ERROR | No error |
|
0x1 | INTERNAL_ERROR | Implementation error |
|
0x2 | CONNECTION_REFUSED | Server refuses a connection |
|
0x3 | FLOW_CONTROL_ERROR | Flow control error |
|
0x4 | STREAM_LIMIT_ERROR | Too many streams opened |
|
0x5 | STREAM_STATE_ERROR | Frame received in invalid stream state |
|
0x6 | FINAL_SIZE_ERROR | Change to final size |
|
0x7 | FRAME_ENCODING_ERROR | Frame encoding error |
|
0x8 | TRANSPORT_PARAMETER_ERROR | Error in transport parameters |
|
0x9 | CONNECTION_ID_LIMIT_ERROR | Too many connection IDs received |
|
0xa | PROTOCOL_VIOLATION | Generic protocol violation |
|
0xb | INVALID_TOKEN | Invalid Token Received |
|
0xc | APPLICATION_ERROR | Application error |
|
0xd | CRYPTO_BUFFER_EXCEEDED | CRYPTO data buffer overflowed |
|
0xe | KEY_UPDATE_ERROR | Invalid packet protection update |
|
0xf | AEAD_LIMIT_REACHED | Excessive use of packet protection keys |
|