Home / Class/ PooledNonRetainedSlicedByteBuf Class — netty Architecture

PooledNonRetainedSlicedByteBuf Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  45cc4645_1f82_3f18_df6c_b83f8845f12c["PooledNonRetainedSlicedByteBuf"]
  cdd4ec24_c048_f96a_9a21_1774c004b2a8["AbstractPooledDerivedByteBuf.java"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|defined in| cdd4ec24_c048_f96a_9a21_1774c004b2a8
  47cad22d_46d2_43da_b56a_8b5a16c278f0["PooledNonRetainedSlicedByteBuf()"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|method| 47cad22d_46d2_43da_b56a_8b5a16c278f0
  6657bc19_6e7b_1429_2309_874d6cdfc140["isAccessible0()"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|method| 6657bc19_6e7b_1429_2309_874d6cdfc140
  3ea60983_7505_4218_5f7f_ef06b06828fe["refCnt0()"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|method| 3ea60983_7505_4218_5f7f_ef06b06828fe
  b1042c1b_7c87_3f82_acd1_776cedbdff82["ByteBuf()"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|method| b1042c1b_7c87_3f82_acd1_776cedbdff82
  affe9976_c320_f3ae_2409_caad5586b365["release0()"]
  45cc4645_1f82_3f18_df6c_b83f8845f12c -->|method| affe9976_c320_f3ae_2409_caad5586b365

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/AbstractPooledDerivedByteBuf.java lines 248–329

    private static final class PooledNonRetainedSlicedByteBuf extends UnpooledSlicedByteBuf {
        private final ByteBuf referenceCountDelegate;

        PooledNonRetainedSlicedByteBuf(ByteBuf referenceCountDelegate,
                                       AbstractByteBuf buffer, int index, int length) {
            super(buffer, index, length);
            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, unwrap())
                    .setIndex(idx(readerIndex()), idx(writerIndex()));
        }

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

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

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

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

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free