Package io.github.mahmoudimus.quic.packet


package io.github.mahmoudimus.quic.packet
QUIC packets (RFC 9000 section 17, RFC 9369): header encoding and partial decoding, packet number truncation and recovery, coalesced datagrams, and protecting and unprotecting whole packets in place.
  • Class
    Description
    Where an encoded header's fields sit in the packet buffer, so that protection can fill in the Length field and mask the packet number once the payload is written.
    A packet with protection removed: its full header and its plaintext payload of frames.
    Builds a datagram of one or more coalesced packets: write a header, fill the frame space, then pad and protect.
    A packet header that cannot be decoded.
    A decoded QUIC packet header (RFC 9000 section 17), or one to encode.
    A Handshake packet header (RFC 9000 section 17.2.4).
    An Initial packet header (RFC 9000 section 17.2.2).
    A header of a protected packet, with a packet number.
    A Retry packet (RFC 9000 section 17.2.5): the whole packet, since it has no payload beyond the token and the integrity tag.
    A short (1-RTT) packet header (RFC 9000 section 17.3.1).
    A Version Negotiation packet (RFC 9000 section 17.2.1): the whole packet.
    A 0-RTT packet header (RFC 9000 section 17.2.3).
    Packet number truncation and recovery (RFC 9000 section 17.1 and appendix A).
    Applies packet protection (RFC 9001 section 5) to an encoded packet in place: fills in the Length field, seals the payload and then masks the header.
    The QUIC packet types (RFC 9000 section 17).
    A packet whose unprotected header fields are parsed but whose packet number and payload are still protected: quinn's PartialDecode.
    A long header packet of a version this endpoint does not speak.