Home / Function/ QuicPacketType() — netty Function Reference

QuicPacketType() — netty Function Reference

Architecture documentation for the QuicPacketType() function in QuicHeaderParser.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  2c7eb64e_5146_6ce7_b36e_93201aef670d["QuicPacketType()"]
  c7e41129_a960_2079_d47e_46ceea19e35c["QuicHeaderParser"]
  2c7eb64e_5146_6ce7_b36e_93201aef670d -->|defined in| c7e41129_a960_2079_d47e_46ceea19e35c
  style 2c7eb64e_5146_6ce7_b36e_93201aef670d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicHeaderParser.java lines 237–258

    private static QuicPacketType typeOfLongHeader(byte first, long version) throws QuicException {
        if (version == 0) {
            // If we parsed a version of 0 we are sure it's a version negotiation packet:
            // https://www.rfc-editor.org/rfc/rfc9000.html#section-17.2.1
            //
            // This also means we should ignore everything that is left in 'first'.
            return QuicPacketType.VERSION_NEGOTIATION;
        }
        int packetType = (first & 0x30) >> 4;
        switch (packetType) {
            case 0x00:
                return QuicPacketType.INITIAL;
            case 0x01:
                return QuicPacketType.ZERO_RTT;
            case 0x02:
                return QuicPacketType.HANDSHAKE;
            case 0x03:
                return QuicPacketType.RETRY;
            default:
                throw newProtocolViolationException("Unknown packet type: " + packetType);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does QuicPacketType() do?
QuicPacketType() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicHeaderParser.java.
Where is QuicPacketType() defined?
QuicPacketType() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicHeaderParser.java at line 237.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free