Package io.github.mahmoudimus.quic.frame
package io.github.mahmoudimus.quic.frame
QUIC frames (RFC 9000 section 19, RFC 9221 DATAGRAM, and the ACK frequency extension): a sealed
Frame hierarchy, its encoders and a validating decoder.-
ClassDescriptionA QUIC frame (RFC 9000 section 19, RFC 9221 and the ACK frequency extension).An ACK frame (types 0x02 and 0x03).An ACK_FREQUENCY frame (type 0xaf) of the QUIC ACK frequency extension, as quinn implements it.An inclusive range of acknowledged packet numbers.A CONNECTION_CLOSE frame for an application error (type 0x1d), allowed only in 0-RTT and 1-RTT packets.A CONNECTION_CLOSE frame for a transport error (type 0x1c).A CRYPTO frame (type 0x06), carrying TLS handshake bytes.A DATA_BLOCKED frame (type 0x14).A DATAGRAM frame (RFC 9221; 0x30 without and 0x31 with a Length field).The ECN counts of an ACK frame of type 0x03 (RFC 9000 section 19.3.2).A HANDSHAKE_DONE frame (type 0x1e).An IMMEDIATE_ACK frame (type 0x1f) of the QUIC ACK frequency extension.A MAX_DATA frame (type 0x10).A MAX_STREAM_DATA frame (type 0x11).A MAX_STREAMS frame (0x12 bidirectional, 0x13 unidirectional).A NEW_CONNECTION_ID frame (type 0x18).A NEW_TOKEN frame (type 0x07), with a token for future connections.A run of PADDING frames (type 0x00), each a single zero byte.A PATH_CHALLENGE frame (type 0x1a).A PATH_RESPONSE frame (type 0x1b).A PING frame (type 0x01).A RESET_STREAM frame (type 0x04).A RETIRE_CONNECTION_ID frame (type 0x19).A STOP_SENDING frame (type 0x05).A STREAM frame (types 0x08 to 0x0f).A STREAM_DATA_BLOCKED frame (type 0x15).A STREAMS_BLOCKED frame (0x16 bidirectional, 0x17 unidirectional).Decodes the frames of a decrypted packet payload.A connection error caused by a received frame, carrying the frame type for the Frame Type field of the CONNECTION_CLOSE frame that reports it (RFC 9000 section 19.19).The QUIC frame types (RFC 9000 section 19 and Table 3), with the type codes each covers and the packet types it may appear in.