Home / Class/ PooledNonRetainedDuplicateByteBuf Class — netty Architecture

PooledNonRetainedDuplicateByteBuf Class — netty Architecture

Architecture documentation for the PooledNonRetainedDuplicateByteBuf class in AbstractPooledDerivedByteBuf.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8["PooledNonRetainedDuplicateByteBuf"]
  cdd4ec24_c048_f96a_9a21_1774c004b2a8["AbstractPooledDerivedByteBuf.java"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|defined in| cdd4ec24_c048_f96a_9a21_1774c004b2a8
  9c4f1536_76ba_5355_eb49_da2d60837609["PooledNonRetainedDuplicateByteBuf()"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|method| 9c4f1536_76ba_5355_eb49_da2d60837609
  b41e5352_d3dc_932f_f580_17ca7c1acffb["isAccessible0()"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|method| b41e5352_d3dc_932f_f580_17ca7c1acffb
  0446eee3_4f85_68ad_197a_69d87ae7c5d7["refCnt0()"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|method| 0446eee3_4f85_68ad_197a_69d87ae7c5d7
  e46c0bac_951e_05a5_40fe_b6089bcdfbc3["ByteBuf()"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|method| e46c0bac_951e_05a5_40fe_b6089bcdfbc3
  17103d10_9e0a_74ff_1189_74f549bce5d6["release0()"]
  ec05c197_9ff2_a7cc_591c_24bd87b2b1b8 -->|method| 17103d10_9e0a_74ff_1189_74f549bce5d6

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/AbstractPooledDerivedByteBuf.java lines 167–246

    private static final class PooledNonRetainedDuplicateByteBuf extends UnpooledDuplicatedByteBuf {
        private final ByteBuf referenceCountDelegate;

        PooledNonRetainedDuplicateByteBuf(ByteBuf referenceCountDelegate, AbstractByteBuf buffer) {
            super(buffer);
            this.referenceCountDelegate = referenceCountDelegate;
        }

        @Override
        boolean isAccessible0() {
            return referenceCountDelegate.isAccessible();
        }

        @Override
        int refCnt0() {
            return referenceCountDelegate.refCnt();
        }

        @Override
        ByteBuf retain0() {
            referenceCountDelegate.retain();
            return this;
        }

        @Override
        ByteBuf retain0(int increment) {
            referenceCountDelegate.retain(increment);
            return this;
        }

        @Override
        ByteBuf touch0() {
            referenceCountDelegate.touch();
            return this;
        }

        @Override
        ByteBuf touch0(Object hint) {
            referenceCountDelegate.touch(hint);
            return this;
        }

        @Override
        boolean release0() {
            return referenceCountDelegate.release();
        }

        @Override
        boolean release0(int decrement) {
            return referenceCountDelegate.release(decrement);
        }

        @Override
        public ByteBuf duplicate() {
            ensureAccessible();
            return new PooledNonRetainedDuplicateByteBuf(referenceCountDelegate, this);
        }

        @Override
        public ByteBuf retainedDuplicate() {
            return PooledDuplicatedByteBuf.newInstance(unwrap(), this, readerIndex(), writerIndex());
        }

        @Override
        public ByteBuf slice(int index, int length) {
            checkIndex(index, length);
            return new PooledNonRetainedSlicedByteBuf(referenceCountDelegate, unwrap(), index, length);
        }

        @Override
        public ByteBuf retainedSlice() {
            // Capacity is not allowed to change for a sliced ByteBuf, so length == capacity()
            return retainedSlice(readerIndex(), capacity());
        }

        @Override
        public ByteBuf retainedSlice(int index, int length) {
            return PooledSlicedByteBuf.newInstance(unwrap(), this, index, length);
        }
    }

Frequently Asked Questions

What is the PooledNonRetainedDuplicateByteBuf class?
PooledNonRetainedDuplicateByteBuf is a class in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/AbstractPooledDerivedByteBuf.java.
Where is PooledNonRetainedDuplicateByteBuf defined?
PooledNonRetainedDuplicateByteBuf is defined in buffer/src/main/java/io/netty/buffer/AbstractPooledDerivedByteBuf.java at line 167.

Analyze Your Own Codebase

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

Try Supermodel Free