Class SimpleLeakAwareCompositeByteBuf
- All Implemented Interfaces:
ByteBufConvertible
,ReferenceCounted
,Comparable<ByteBuf>
,Iterable<ByteBuf>
- Direct Known Subclasses:
AdvancedLeakAwareCompositeByteBuf
-
Nested Class Summary
Nested classes/interfaces inherited from class io.netty.buffer.CompositeByteBuf
CompositeByteBuf.ByteWrapper<T>
-
Field Summary
FieldsFields inherited from class io.netty.buffer.CompositeByteBuf
BYTE_ARRAY_WRAPPER, BYTE_BUFFER_WRAPPER
Fields inherited from class io.netty.buffer.AbstractByteBuf
checkAccessible, leakDetector, readerIndex, writerIndex
-
Constructor Summary
ConstructorsConstructorDescriptionSimpleLeakAwareCompositeByteBuf
(CompositeByteBuf wrapped, ResourceLeakTracker<ByteBuf> leak) -
Method Summary
Modifier and TypeMethodDescriptionReturns a read-only version of this buffer.private void
Returns a buffer which shares the whole region of this buffer.private SimpleLeakAwareByteBuf
newLeakAwareByteBuf
(ByteBuf wrapped) protected SimpleLeakAwareByteBuf
newLeakAwareByteBuf
(ByteBuf wrapped, ByteBuf trackedByteBuf, ResourceLeakTracker<ByteBuf> leakTracker) Returns a buffer with the specifiedendianness
which shares the whole region, indexes, and marks of this buffer.readRetainedSlice
(int length) Returns a new retained slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).readSlice
(int length) Returns a new slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).boolean
release()
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.boolean
release
(int decrement) Decreases the reference count by the specifieddecrement
and deallocates this object if the reference count reaches at0
.Returns a retained buffer which shares the whole region of this buffer.Returns a retained slice of this buffer's readable bytes.retainedSlice
(int index, int length) Returns a retained slice of this buffer's sub-region.slice()
Returns a slice of this buffer's readable bytes.slice
(int index, int length) Returns a slice of this buffer's sub-region.Methods inherited from class io.netty.buffer.WrappedCompositeByteBuf
_getByte, _getInt, _getIntLE, _getLong, _getLongLE, _getShort, _getShortLE, _getUnsignedMedium, _getUnsignedMediumLE, _setByte, _setInt, _setIntLE, _setLong, _setLongLE, _setMedium, _setMediumLE, _setShort, _setShortLE, addComponent, addComponent, addComponent, addComponent, addComponents, addComponents, addComponents, addComponents, addComponents, addComponents, addFlattenedComponents, alloc, array, arrayOffset, bytesBefore, bytesBefore, bytesBefore, capacity, capacity, clear, compareTo, component, componentAtOffset, consolidate, consolidate, copy, copy, deallocate, decompose, discardReadBytes, discardReadComponents, discardSomeReadBytes, ensureWritable, ensureWritable, equals, forEachByte, forEachByte, forEachByteAsc0, forEachByteDesc, forEachByteDesc, forEachByteDesc0, getBoolean, getByte, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getBytes, getChar, getCharSequence, getDouble, getFloat, getInt, getIntLE, getLong, getLongLE, getMedium, getMediumLE, getShort, getShortLE, getUnsignedByte, getUnsignedInt, getUnsignedIntLE, getUnsignedMedium, getUnsignedMediumLE, getUnsignedShort, getUnsignedShortLE, hasArray, hashCode, hasMemoryAddress, indexOf, internalComponent, internalComponentAtOffset, internalNioBuffer, isAccessible, isDirect, isReadable, isReadable, isReadOnly, isWritable, isWritable, iterator, markReaderIndex, markWriterIndex, maxCapacity, maxFastWritableBytes, maxNumComponents, maxWritableBytes, memoryAddress, newSwappedByteBuf, nioBuffer, nioBuffer, nioBufferCount, nioBuffers, nioBuffers, numComponents, order, readableBytes, readBoolean, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readChar, readCharSequence, readDouble, readerIndex, readerIndex, readFloat, readInt, readIntLE, readLong, readLongLE, readMedium, readMediumLE, readShort, readShortLE, readUnsignedByte, readUnsignedInt, readUnsignedIntLE, readUnsignedMedium, readUnsignedMediumLE, readUnsignedShort, readUnsignedShortLE, refCnt, removeComponent, removeComponents, resetReaderIndex, resetWriterIndex, retain, retain, setBoolean, setByte, setBytes, setBytes, setBytes, setBytes, setBytes, setBytes, setBytes, setBytes, setBytes, setChar, setCharSequence, setDouble, setFloat, setIndex, setInt, setIntLE, setLong, setLongLE, setMedium, setMediumLE, setShort, setShortLE, setZero, skipBytes, toByteIndex, toComponentIndex, toString, toString, toString, touch, touch, unwrap, writableBytes, writeBoolean, writeByte, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeChar, writeCharSequence, writeDouble, writeFloat, writeInt, writeIntLE, writeLong, writeLongLE, writeMedium, writeMediumLE, writerIndex, writerIndex, writeShort, writeShortLE, writeZero
Methods inherited from class io.netty.buffer.AbstractReferenceCountedByteBuf
resetRefCnt, setRefCnt
Methods inherited from class io.netty.buffer.AbstractByteBuf
adjustMarkers, checkDstIndex, checkDstIndex, checkIndex, checkIndex, checkIndex0, checkNewCapacity, checkReadableBytes, checkSrcIndex, discardMarks, ensureAccessible, ensureWritable0, maxCapacity, setIndex0, trimIndicesToCapacity
Methods inherited from class io.netty.buffer.ByteBuf
asByteBuf, getDoubleLE, getFloatLE, isContiguous, readDoubleLE, readFloatLE, setDoubleLE, setFloatLE, writeDoubleLE, writeFloatLE
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
leak
-
-
Constructor Details
-
SimpleLeakAwareCompositeByteBuf
SimpleLeakAwareCompositeByteBuf(CompositeByteBuf wrapped, ResourceLeakTracker<ByteBuf> leak)
-
-
Method Details
-
release
public boolean release()Description copied from interface:ReferenceCounted
Decreases the reference count by1
and deallocates this object if the reference count reaches at0
.- Specified by:
release
in interfaceReferenceCounted
- Overrides:
release
in classWrappedCompositeByteBuf
- Returns:
true
if and only if the reference count became0
and this object has been deallocated
-
release
public boolean release(int decrement) Description copied from interface:ReferenceCounted
Decreases the reference count by the specifieddecrement
and deallocates this object if the reference count reaches at0
.- Specified by:
release
in interfaceReferenceCounted
- Overrides:
release
in classWrappedCompositeByteBuf
- Returns:
true
if and only if the reference count became0
and this object has been deallocated
-
closeLeak
-
order
Description copied from class:ByteBuf
Returns a buffer with the specifiedendianness
which shares the whole region, indexes, and marks of this buffer. Modifying the content, the indexes, or the marks of the returned buffer or this buffer affects each other's content, indexes, and marks. If the specifiedendianness
is identical to this buffer's byte order, this method can returnthis
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.- Overrides:
order
in classWrappedCompositeByteBuf
-
slice
Description copied from class:ByteBuf
Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
slice
in classWrappedCompositeByteBuf
-
retainedSlice
Description copied from class:ByteBuf
Returns a retained slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(buf.readerIndex(), buf.readableBytes())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice()
. This method behaves similarly toslice().retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedSlice
in classWrappedCompositeByteBuf
-
slice
Description copied from class:ByteBuf
Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
slice
in classWrappedCompositeByteBuf
-
retainedSlice
Description copied from class:ByteBuf
Returns a retained slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int)
. This method behaves similarly toslice(...).retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedSlice
in classWrappedCompositeByteBuf
-
duplicate
Description copied from class:ByteBuf
Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modifyreaderIndex
orwriterIndex
of this buffer.The reader and writer marks will not be duplicated. Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
duplicate
in classWrappedCompositeByteBuf
- Returns:
- A buffer whose readable content is equivalent to the buffer returned by
ByteBuf.slice()
. However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the underlying content if necessary.
-
retainedDuplicate
Description copied from class:ByteBuf
Returns a retained buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical tobuf.slice(0, buf.capacity())
. This method does not modifyreaderIndex
orwriterIndex
of this buffer.Note that this method returns a retained buffer unlike
ByteBuf.slice(int, int)
. This method behaves similarly toduplicate().retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
retainedDuplicate
in classWrappedCompositeByteBuf
-
readSlice
Description copied from class:ByteBuf
Returns a new slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).Also be aware that this method will NOT call
ByteBuf.retain()
and so the reference count will NOT be increased.- Overrides:
readSlice
in classWrappedCompositeByteBuf
- Parameters:
length
- the size of the new slice- Returns:
- the newly created slice
-
readRetainedSlice
Description copied from class:ByteBuf
Returns a new retained slice of this buffer's sub-region starting at the currentreaderIndex
and increases thereaderIndex
by the size of the new slice (=length
).Note that this method returns a retained buffer unlike
ByteBuf.readSlice(int)
. This method behaves similarly toreadSlice(...).retain()
except that this method may return a buffer implementation that produces less garbage.- Overrides:
readRetainedSlice
in classWrappedCompositeByteBuf
- Parameters:
length
- the size of the new slice- Returns:
- the newly created slice
-
asReadOnly
Description copied from class:ByteBuf
Returns a read-only version of this buffer.- Overrides:
asReadOnly
in classWrappedCompositeByteBuf
-
newLeakAwareByteBuf
-
newLeakAwareByteBuf
protected SimpleLeakAwareByteBuf newLeakAwareByteBuf(ByteBuf wrapped, ByteBuf trackedByteBuf, ResourceLeakTracker<ByteBuf> leakTracker)
-