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 | Packets |
---|---|---|---|
0x00 | PADDING |
|
IH01 |
0x01 | PING |
|
IH01 |
0x02 - 0x03 | ACK |
|
IH_1 |
0x04 | RESET_STREAM |
|
__01 |
0x05 | STOP_SENDING |
|
__01 |
0x06 | CRYPTO |
|
IH_1 |
0x07 | NEW_TOKEN |
|
___1 |
0x08 - 0x0f | STREAM |
|
__01 |
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 |
0x19 | RETIRE_CONNECTION_ID |
|
__01 |
0x1a | PATH_CHALLENGE |
|
__01 |
0x1b | PATH_RESPONSE |
|
__01 |
0x1c - 0x1d | CONNECTION_CLOSE |
|
IH_1* |
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 |
---|---|---|
0x0000 | original_connection_id |
|
0x0001 | max_idle_timeout |
|
0x0002 | stateless_reset_token |
|
0x0003 | max_packet_size |
|
0x0004 | initial_max_data |
|
0x0005 | initial_max_stream_data_bidi_local |
|
0x0006 | initial_max_stream_data_bidi_remote |
|
0x0007 | initial_max_stream_data_uni |
|
0x0008 | initial_max_streams_bidi |
|
0x0009 | initial_max_streams_uni |
|
0x000a | ack_delay_exponent |
|
0x000b | max_ack_delay |
|
0x000c | disable_active_migration |
|
0x000d | preferred_address |
|
0x000e | active_connection_id_limit |
|
Value | Error | Description | Specification |
---|---|---|---|
0x0 | NO_ERROR | No error |
|
0x1 | INTERNAL_ERROR | Implementation error |
|
0x2 | SERVER_BUSY | Server currently busy |
|
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 |
|
0xD | CRYPTO_BUFFER_EXCEEDED | CRYPTO data buffer overflowed |
|