Home / Class/ ReplayingDecoderByteBuf Class — netty Architecture

ReplayingDecoderByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  2f1efe3a_641f_b308_f73f_447128c0e44e["ReplayingDecoderByteBuf"]
  ab1d7545_7f18_aa3a_5c35_f8588ec2937b["ReplayingDecoderByteBuf.java"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|defined in| ab1d7545_7f18_aa3a_5c35_f8588ec2937b
  be100770_ad94_e563_a113_92ea017c64b1["ReplayingDecoderByteBuf()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| be100770_ad94_e563_a113_92ea017c64b1
  f13c3dbc_15cb_acfe_a6ba_54367ee2e7c3["setCumulation()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| f13c3dbc_15cb_acfe_a6ba_54367ee2e7c3
  e8d2c999_776a_71f3_121c_ee0fa754731a["terminate()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| e8d2c999_776a_71f3_121c_ee0fa754731a
  0a253cd4_65c9_e3da_b610_e585501e2eef["capacity()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 0a253cd4_65c9_e3da_b610_e585501e2eef
  0176dd09_44be_f27e_2f54_964b8d99c3be["ByteBuf()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 0176dd09_44be_f27e_2f54_964b8d99c3be
  73a4e643_1008_1212_169d_3c8621ceeca6["maxCapacity()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 73a4e643_1008_1212_169d_3c8621ceeca6
  dc3a0c0a_bc10_fe8b_40c8_3b20134a4b4a["ByteBufAllocator()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| dc3a0c0a_bc10_fe8b_40c8_3b20134a4b4a
  3b673312_3331_a728_57f5_d017289d3124["isReadOnly()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 3b673312_3331_a728_57f5_d017289d3124
  a31db07b_7687_556a_711f_8809e9e8c0d1["isDirect()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| a31db07b_7687_556a_711f_8809e9e8c0d1
  25699ca6_b7ab_312b_8820_c18cb89b84d6["hasArray()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 25699ca6_b7ab_312b_8820_c18cb89b84d6
  06bdf782_25f1_5d99_6f63_c3d9030db3fd["array()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| 06bdf782_25f1_5d99_6f63_c3d9030db3fd
  ddab6014_257f_b4fc_8c7f_3b7d736a3bcd["arrayOffset()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| ddab6014_257f_b4fc_8c7f_3b7d736a3bcd
  da7a9e0a_28da_6fe4_1de6_34c9de85beed["hasMemoryAddress()"]
  2f1efe3a_641f_b308_f73f_447128c0e44e -->|method| da7a9e0a_28da_6fe4_1de6_34c9de85beed

Relationship Graph

Source Code

codec-base/src/main/java/io/netty/handler/codec/ReplayingDecoderByteBuf.java lines 39–1153

final class ReplayingDecoderByteBuf extends ByteBuf {

    private static final Signal REPLAY = ReplayingDecoder.REPLAY;

    private ByteBuf buffer;
    private boolean terminated;
    private SwappedByteBuf swapped;

    @SuppressWarnings("checkstyle:StaticFinalBuffer")  // Unpooled.EMPTY_BUFFER is not writeable or readable.
    static final ReplayingDecoderByteBuf EMPTY_BUFFER = new ReplayingDecoderByteBuf(Unpooled.EMPTY_BUFFER);

    static {
        EMPTY_BUFFER.terminate();
    }

    ReplayingDecoderByteBuf() { }

    ReplayingDecoderByteBuf(ByteBuf buffer) {
        setCumulation(buffer);
    }

    void setCumulation(ByteBuf buffer) {
        this.buffer = buffer;
    }

    void terminate() {
        terminated = true;
    }

    @Override
    public int capacity() {
        if (terminated) {
            return buffer.capacity();
        } else {
            return Integer.MAX_VALUE;
        }
    }

    @Override
    public ByteBuf capacity(int newCapacity) {
        throw reject();
    }

    @Override
    public int maxCapacity() {
        return capacity();
    }

    @Override
    public ByteBufAllocator alloc() {
        return buffer.alloc();
    }

    @Override
    public boolean isReadOnly() {
        return false;
    }

    @SuppressWarnings("deprecation")
    @Override
    public ByteBuf asReadOnly() {
        return Unpooled.unmodifiableBuffer(this);
    }

    @Override
    public boolean isDirect() {
        return buffer.isDirect();
    }

    @Override
    public boolean hasArray() {
        return false;
    }

    @Override
    public byte[] array() {
        throw new UnsupportedOperationException();
    }

    @Override
    public int arrayOffset() {

Frequently Asked Questions

What is the ReplayingDecoderByteBuf class?
ReplayingDecoderByteBuf is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/ReplayingDecoderByteBuf.java.
Where is ReplayingDecoderByteBuf defined?
ReplayingDecoderByteBuf is defined in codec-base/src/main/java/io/netty/handler/codec/ReplayingDecoderByteBuf.java at line 39.

Analyze Your Own Codebase

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

Try Supermodel Free