@Override public ByteBuf slice(int index, int length) { // All reference count methods should be inherited from this object (this is the "parent"). return new PooledNonRetainedSlicedByteBuf(this, unwrap(), 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 slice(int index, int length) { checkIndex0(index, length); return new PooledNonRetainedSlicedByteBuf(referenceCountDelegate, unwrap(), idx(index), length); }
@Override public ByteBuf retainedDuplicate() { return PooledDuplicatedByteBuf.newInstance(unwrap(), this, idx(readerIndex()), idx(writerIndex())); }
@Override public ByteBuf slice(int index, int length) { checkIndex0(index, length); return new PooledNonRetainedSlicedByteBuf(referenceCountDelegate, unwrap(), index, length); }
@Override public ByteBuf duplicate() { return new PooledNonRetainedDuplicateByteBuf(referenceCountDelegate, unwrap()) .setIndex(idx(readerIndex()), idx(writerIndex())); }