Home / Class/ DefaultHttp2DataFrame Class — netty Architecture

DefaultHttp2DataFrame Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  33d68cc6_41e3_940e_fe1b_4f1786318093["DefaultHttp2DataFrame"]
  b507d9f0_50a0_e39a_88ca_262074ba4a72["DefaultHttp2DataFrame.java"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|defined in| b507d9f0_50a0_e39a_88ca_262074ba4a72
  380687a1_162b_36c1_39a8_21a5f5975f65["DefaultHttp2DataFrame()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 380687a1_162b_36c1_39a8_21a5f5975f65
  fe9305a7_886c_81e8_b826_0c59a7ac71fb["String()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| fe9305a7_886c_81e8_b826_0c59a7ac71fb
  f6fa9a8e_3c4f_1b23_652c_63ba81a9c443["isEndStream()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| f6fa9a8e_3c4f_1b23_652c_63ba81a9c443
  817458e8_4aab_2a27_b7d7_6cc2400dc916["padding()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 817458e8_4aab_2a27_b7d7_6cc2400dc916
  90e9233a_11e4_7a65_d34f_07f0331212fe["ByteBuf()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 90e9233a_11e4_7a65_d34f_07f0331212fe
  43e4878c_5c1b_6a71_7866_cd8fee8ccb82["initialFlowControlledBytes()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 43e4878c_5c1b_6a71_7866_cd8fee8ccb82
  0369899c_7c68_b40e_b58b_9495d23164dc["refCnt()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 0369899c_7c68_b40e_b58b_9495d23164dc
  a0d09d12_37f5_93b3_02e7_d26a197745c1["release()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| a0d09d12_37f5_93b3_02e7_d26a197745c1
  b7e74117_ff62_1978_047f_fb70e56b67b3["equals()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| b7e74117_ff62_1978_047f_fb70e56b67b3
  1836d42b_3ca0_ad63_46ae_63b989b8d351["hashCode()"]
  33d68cc6_41e3_940e_fe1b_4f1786318093 -->|method| 1836d42b_3ca0_ad63_46ae_63b989b8d351

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2DataFrame.java lines 29–196

public final class DefaultHttp2DataFrame extends AbstractHttp2StreamFrame implements Http2DataFrame {
    private final ByteBuf content;
    private final boolean endStream;
    private final int padding;
    private final int initialFlowControlledBytes;

    /**
     * Equivalent to {@code new DefaultHttp2DataFrame(content, false)}.
     *
     * @param content non-{@code null} payload
     */
    public DefaultHttp2DataFrame(ByteBuf content) {
        this(content, false);
    }

    /**
     * Equivalent to {@code new DefaultHttp2DataFrame(Unpooled.EMPTY_BUFFER, endStream)}.
     *
     * @param endStream whether this data should terminate the stream
     */
    public DefaultHttp2DataFrame(boolean endStream) {
        this(Unpooled.EMPTY_BUFFER, endStream);
    }

    /**
     * Equivalent to {@code new DefaultHttp2DataFrame(content, endStream, 0)}.
     *
     * @param content non-{@code null} payload
     * @param endStream whether this data should terminate the stream
     */
    public DefaultHttp2DataFrame(ByteBuf content, boolean endStream) {
        this(content, endStream, 0);
    }

    /**
     * Construct a new data message.
     *
     * @param content non-{@code null} payload
     * @param endStream whether this data should terminate the stream
     * @param padding additional bytes that should be added to obscure the true content size. Must be between 0 and
     *                256 (inclusive).
     */
    public DefaultHttp2DataFrame(ByteBuf content, boolean endStream, int padding) {
        this.content = checkNotNull(content, "content");
        this.endStream = endStream;
        verifyPadding(padding);
        this.padding = padding;
        if (content().readableBytes() + (long) padding > Integer.MAX_VALUE) {
            throw new IllegalArgumentException("content + padding must be <= Integer.MAX_VALUE");
        }
        initialFlowControlledBytes = content().readableBytes() + padding;
    }

    @Override
    public DefaultHttp2DataFrame stream(Http2FrameStream stream) {
        super.stream(stream);
        return this;
    }

    @Override
    public String name() {
        return "DATA";
    }

    @Override
    public boolean isEndStream() {
        return endStream;
    }

    @Override
    public int padding() {
        return padding;
    }

    @Override
    public ByteBuf content() {
        return ByteBufUtil.ensureAccessible(content);
    }

    @Override
    public int initialFlowControlledBytes() {

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free