Home / Class/ QuicCodecHeaderProcessor Class — netty Architecture

QuicCodecHeaderProcessor Class — netty Architecture

Architecture documentation for the QuicCodecHeaderProcessor class in QuicheQuicCodec.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  eeed1a5a_1d35_83c8_45ce_8c475562fe14["QuicCodecHeaderProcessor"]
  ab83a64c_7878_eab7_686b_d8b8c33c49fb["QuicheQuicCodec.java"]
  eeed1a5a_1d35_83c8_45ce_8c475562fe14 -->|defined in| ab83a64c_7878_eab7_686b_d8b8c33c49fb
  fd1d6adf_e98c_a7d0_534f_471f2e6e19a1["QuicCodecHeaderProcessor()"]
  eeed1a5a_1d35_83c8_45ce_8c475562fe14 -->|method| fd1d6adf_e98c_a7d0_534f_471f2e6e19a1
  4824392d_a198_0181_954d_ca040d8a34a2["process()"]
  eeed1a5a_1d35_83c8_45ce_8c475562fe14 -->|method| 4824392d_a198_0181_954d_ca040d8a34a2

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java lines 350–379

    private final class QuicCodecHeaderProcessor implements QuicHeaderParser.QuicHeaderProcessor {

        private final ChannelHandlerContext ctx;

        QuicCodecHeaderProcessor(ChannelHandlerContext ctx) {
            this.ctx = ctx;
        }

        @Override
        public void process(InetSocketAddress sender, InetSocketAddress recipient, ByteBuf buffer, QuicPacketType type,
                            long version, ByteBuf scid, ByteBuf dcid, ByteBuf token) throws Exception {
            QuicheQuicChannel channel = quicPacketRead(ctx, sender, recipient,
                    type, version, scid,
                    dcid, token, senderSockaddrMemory, recipientSockaddrMemory, freeTask, localConnIdLength, config);
            if (channel != null) {
                // Add to queue first, we might be able to safe some flushes and consolidate them
                // in channelReadComplete(...) this way.
                if (channel.markInFireChannelReadCompleteQueue()) {
                    needsFireChannelReadComplete.add(channel);
                }
                channel.recv(sender, recipient, buffer);
                for (ByteBuffer retiredSourceConnectionId : channel.retiredSourceConnectionId()) {
                    removeMapping(channel, retiredSourceConnectionId);
                }
                for (ByteBuffer newSourceConnectionId : channel.newSourceConnectionIds()) {
                    addMapping(channel, newSourceConnectionId);
                }
            }
        }
    }

Frequently Asked Questions

What is the QuicCodecHeaderProcessor class?
QuicCodecHeaderProcessor is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java.
Where is QuicCodecHeaderProcessor defined?
QuicCodecHeaderProcessor is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java at line 350.

Analyze Your Own Codebase

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

Try Supermodel Free