Home / Function/ Http3SettingsFrame() — netty Function Reference

Http3SettingsFrame() — netty Function Reference

Architecture documentation for the Http3SettingsFrame() function in Http3FrameCodec.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bdd8ff0e_d030_965a_6ea5_7f31277ae36c["Http3SettingsFrame()"]
  57499e74_1040_f300_12bb_215179e108be["Http3FrameCodec"]
  bdd8ff0e_d030_965a_6ea5_7f31277ae36c -->|defined in| 57499e74_1040_f300_12bb_215179e108be
  bc9d9e09_417f_cc2b_50ed_b48f93b8395c["connectionError()"]
  bdd8ff0e_d030_965a_6ea5_7f31277ae36c -->|calls| bc9d9e09_417f_cc2b_50ed_b48f93b8395c
  style bdd8ff0e_d030_965a_6ea5_7f31277ae36c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java lines 356–384

    @Nullable
    private Http3SettingsFrame decodeSettings(ChannelHandlerContext ctx, ByteBuf in, int payLoadLength) {
        Http3SettingsFrame settingsFrame = new DefaultHttp3SettingsFrame(
                new Http3Settings(nonStandardSettingsValidator));
        while (payLoadLength > 0) {
            int keyLen = numBytesForVariableLengthInteger(in.getByte(in.readerIndex()));
            long key = readVariableLengthInteger(in, keyLen);
            if (Http3CodecUtils.isReservedHttp2Setting(key)) {
                // This must be treated as a connection error
                // See https://tools.ietf.org/html/draft-ietf-quic-http-32#section-7.2.4.1
                connectionError(ctx, Http3ErrorCode.H3_SETTINGS_ERROR,
                        "Received a settings key that is reserved for HTTP/2.", true);
                return null;
            }
            payLoadLength -= keyLen;
            int valueLen = numBytesForVariableLengthInteger(in.getByte(in.readerIndex()));
            long value = readVariableLengthInteger(in, valueLen);
            payLoadLength -= valueLen;

            if (settingsFrame.put(key, value) != null) {
                // This must be treated as a connection error
                // See https://tools.ietf.org/html/draft-ietf-quic-http-32#section-7.2.4
                connectionError(ctx, Http3ErrorCode.H3_SETTINGS_ERROR,
                        "Received a duplicate settings key.", true);
                return null;
            }
        }
        return settingsFrame;
    }

Domain

Subdomains

Frequently Asked Questions

What does Http3SettingsFrame() do?
Http3SettingsFrame() is a function in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java.
Where is Http3SettingsFrame() defined?
Http3SettingsFrame() is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/Http3FrameCodec.java at line 356.
What does Http3SettingsFrame() call?
Http3SettingsFrame() calls 1 function(s): connectionError.

Analyze Your Own Codebase

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

Try Supermodel Free