Home / Class/ ChannelBufferByteInput Class — netty Architecture

ChannelBufferByteInput Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  907e0286_f82d_48a9_4e67_b65a6eddacb2["ChannelBufferByteInput"]
  a5d832f0_0338_6de6_7d30_04837d734cda["ChannelBufferByteInput.java"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|defined in| a5d832f0_0338_6de6_7d30_04837d734cda
  c62a7a8b_2816_96d8_a782_1ce4d6d29154["ChannelBufferByteInput()"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|method| c62a7a8b_2816_96d8_a782_1ce4d6d29154
  87f64b2f_5292_2f77_a7b3_78ac13ffff32["close()"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|method| 87f64b2f_5292_2f77_a7b3_78ac13ffff32
  f9741ecc_8ca4_770e_d03b_869f6c69a3a2["available()"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|method| f9741ecc_8ca4_770e_d03b_869f6c69a3a2
  781e14d7_b90d_211e_ab7f_d2855df470d5["read()"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|method| 781e14d7_b90d_211e_ab7f_d2855df470d5
  3900974d_1a77_4de8_d16b_84dcd6267069["skip()"]
  907e0286_f82d_48a9_4e67_b65a6eddacb2 -->|method| 3900974d_1a77_4de8_d16b_84dcd6267069

Relationship Graph

Source Code

codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ChannelBufferByteInput.java lines 26–79

class ChannelBufferByteInput implements ByteInput {

    private final ByteBuf buffer;

    ChannelBufferByteInput(ByteBuf buffer) {
        this.buffer = buffer;
    }

    @Override
    public void close() throws IOException {
        // nothing to do
    }

    @Override
    public int available() throws IOException {
        return buffer.readableBytes();
    }

    @Override
    public int read() throws IOException {
        if (buffer.isReadable()) {
            return buffer.readByte() & 0xff;
        }
        return -1;
    }

    @Override
    public int read(byte[] array) throws IOException {
        return read(array, 0, array.length);
    }

    @Override
    public int read(byte[] dst, int dstIndex, int length) throws IOException {
        int available = available();
        if (available == 0) {
            return -1;
        }

        length = Math.min(available, length);
        buffer.readBytes(dst, dstIndex, length);
        return length;
    }

    @Override
    public long skip(long bytes) throws IOException {
        int readable = buffer.readableBytes();
        if (readable < bytes) {
            bytes = readable;
        }
        buffer.readerIndex((int) (buffer.readerIndex() + bytes));
        return bytes;
    }

}

Frequently Asked Questions

What is the ChannelBufferByteInput class?
ChannelBufferByteInput is a class in the netty codebase, defined in codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ChannelBufferByteInput.java.
Where is ChannelBufferByteInput defined?
ChannelBufferByteInput is defined in codec-marshalling/src/main/java/io/netty/handler/codec/marshalling/ChannelBufferByteInput.java at line 26.

Analyze Your Own Codebase

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

Try Supermodel Free