Home / Class/ Http2Flags Class — netty Architecture

Http2Flags Class — netty Architecture

Architecture documentation for the Http2Flags class in Http2Flags.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052["Http2Flags"]
  d87c286b_680d_ff9a_265f_31226f4dd8a1["Http2Flags.java"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|defined in| d87c286b_680d_ff9a_265f_31226f4dd8a1
  724acda4_7a48_17d0_3c11_1e4c40a2a127["Http2Flags()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 724acda4_7a48_17d0_3c11_1e4c40a2a127
  22eccf5c_545b_8653_f2dd_04daa1a40ff2["value()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 22eccf5c_545b_8653_f2dd_04daa1a40ff2
  a4fced28_263c_b01d_32aa_cb0082a3e671["endOfStream()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| a4fced28_263c_b01d_32aa_cb0082a3e671
  753e96de_5cfa_4809_2de7_60b45f5f022b["endOfHeaders()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 753e96de_5cfa_4809_2de7_60b45f5f022b
  615b1d76_9314_f78c_5f9e_d98349d26d56["priorityPresent()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 615b1d76_9314_f78c_5f9e_d98349d26d56
  ced1c942_3ad3_4568_0842_2e60f91509a3["ack()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| ced1c942_3ad3_4568_0842_2e60f91509a3
  46d212d6_8ea3_8b1a_cb9c_d06930f43f71["paddingPresent()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 46d212d6_8ea3_8b1a_cb9c_d06930f43f71
  fa045407_d8fa_23ba_1392_148f075beac5["getNumPriorityBytes()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| fa045407_d8fa_23ba_1392_148f075beac5
  dbd14658_b737_4528_ffbe_997bf99c844d["getPaddingPresenceFieldLength()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| dbd14658_b737_4528_ffbe_997bf99c844d
  68e11710_1c6e_8cb8_18c1_85839133b5ee["isFlagSet()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 68e11710_1c6e_8cb8_18c1_85839133b5ee
  b87da24f_b4b3_4df5_1b52_d65ec766cd46["hashCode()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| b87da24f_b4b3_4df5_1b52_d65ec766cd46
  1e1f8a9e_69a3_dcff_858a_f59475ea551e["equals()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 1e1f8a9e_69a3_dcff_858a_f59475ea551e
  8f5c2c31_c976_76e4_25a5_3b1a22529859["String()"]
  85b5c61c_c9e6_51c8_1f8b_2b4e1da6b052 -->|method| 8f5c2c31_c976_76e4_25a5_3b1a22529859

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Flags.java lines 21–204

public final class Http2Flags {
    public static final short END_STREAM = 0x1;
    public static final short END_HEADERS = 0x4;
    public static final short ACK = 0x1;
    public static final short PADDED = 0x8;
    public static final short PRIORITY = 0x20;

    private short value;

    public Http2Flags() {
    }

    public Http2Flags(short value) {
        this.value = value;
    }

    /**
     * Gets the underlying flags value.
     */
    public short value() {
        return value;
    }

    /**
     * Determines whether the {@link #END_STREAM} flag is set. Only applies to DATA and HEADERS
     * frames.
     */
    public boolean endOfStream() {
        return isFlagSet(END_STREAM);
    }

    /**
     * Determines whether the {@link #END_HEADERS} flag is set. Only applies for HEADERS,
     * PUSH_PROMISE, and CONTINUATION frames.
     */
    public boolean endOfHeaders() {
        return isFlagSet(END_HEADERS);
    }

    /**
     * Determines whether the flag is set indicating the presence of the exclusive, stream
     * dependency, and weight fields in a HEADERS frame.
     */
    public boolean priorityPresent() {
        return isFlagSet(PRIORITY);
    }

    /**
     * Determines whether the flag is set indicating that this frame is an ACK. Only applies for
     * SETTINGS and PING frames.
     */
    public boolean ack() {
        return isFlagSet(ACK);
    }

    /**
     * For frames that include padding, indicates if the {@link #PADDED} field is present. Only
     * applies to DATA, HEADERS, PUSH_PROMISE and CONTINUATION frames.
     */
    public boolean paddingPresent() {
        return isFlagSet(PADDED);
    }

    /**
     * Gets the number of bytes expected for the priority fields of the payload. This is determined
     * by the {@link #priorityPresent()} flag.
     */
    public int getNumPriorityBytes() {
        return priorityPresent() ? 5 : 0;
    }

    /**
     * Gets the length in bytes of the padding presence field expected in the payload. This is
     * determined by the {@link #paddingPresent()} flag.
     */
    public int getPaddingPresenceFieldLength() {
        return paddingPresent() ? 1 : 0;
    }

    /**
     * Sets the {@link #END_STREAM} flag.

Frequently Asked Questions

What is the Http2Flags class?
Http2Flags is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Flags.java.
Where is Http2Flags defined?
Http2Flags is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/Http2Flags.java at line 21.

Analyze Your Own Codebase

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

Try Supermodel Free