class SimpleLeakAwareCompositeByteBuf extends WrappedCompositeByteBuf
| Modifier and Type | Field and Description |
|---|---|
(package private) ResourceLeakTracker<ByteBuf> |
leak |
leakDetector, readerIndex, writerIndex| Constructor and Description |
|---|
SimpleLeakAwareCompositeByteBuf(CompositeByteBuf wrapped,
ResourceLeakTracker<ByteBuf> leak) |
| Modifier and Type | Method and Description |
|---|---|
ByteBuf |
asReadOnly()
Returns a read-only version of this buffer.
|
private void |
closeLeak(ByteBuf trackedByteBuf) |
ByteBuf |
duplicate()
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) |
ByteBuf |
order(java.nio.ByteOrder endianness)
Returns a buffer with the specified
endianness which shares the whole region,
indexes, and marks of this buffer. |
ByteBuf |
readRetainedSlice(int length)
Returns a new retained slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length). |
ByteBuf |
readSlice(int length)
Returns a new slice of this buffer's sub-region starting at the current
readerIndex and increases the readerIndex by the size
of the new slice (= length). |
boolean |
release()
Decreases the reference count by
1 and deallocates this object if the reference count reaches at
0. |
boolean |
release(int decrement)
Decreases the reference count by the specified
decrement and deallocates this object if the reference
count reaches at 0. |
ByteBuf |
retainedDuplicate()
Returns a retained buffer which shares the whole region of this buffer.
|
ByteBuf |
retainedSlice()
Returns a retained slice of this buffer's readable bytes.
|
ByteBuf |
retainedSlice(int index,
int length)
Returns a retained slice of this buffer's sub-region.
|
ByteBuf |
slice()
Returns a slice of this buffer's readable bytes.
|
ByteBuf |
slice(int index,
int length)
Returns a slice of this buffer's sub-region.
|
_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, 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, forEachByteDesc, forEachByteDesc, 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, isDirect, isReadable, isReadable, isReadOnly, isWritable, isWritable, iterator, markReaderIndex, markWriterIndex, maxCapacity, 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, writeZerosetRefCntadjustMarkers, checkDstIndex, checkIndex, checkIndex, checkIndex0, checkNewCapacity, checkReadableBytes, checkSrcIndex, discardMarks, ensureAccessible, maxCapacity, setIndex0final ResourceLeakTracker<ByteBuf> leak
SimpleLeakAwareCompositeByteBuf(CompositeByteBuf wrapped, ResourceLeakTracker<ByteBuf> leak)
public final boolean release()
ReferenceCounted1 and deallocates this object if the reference count reaches at
0.release in interface ReferenceCountedrelease in class WrappedCompositeByteBuftrue if and only if the reference count became 0 and this object has been deallocatedpublic final boolean release(int decrement)
ReferenceCounteddecrement and deallocates this object if the reference
count reaches at 0.release in interface ReferenceCountedrelease in class WrappedCompositeByteBuftrue if and only if the reference count became 0 and this object has been deallocatedprivate void closeLeak(ByteBuf trackedByteBuf)
public ByteBuf order(java.nio.ByteOrder endianness)
ByteBufendianness 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
specified endianness is identical to this buffer's byte order, this method can
return this. This method does not modify readerIndex or writerIndex
of this buffer.order in class WrappedCompositeByteBufpublic ByteBuf slice()
ByteBufbuf.slice(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain() and so the
reference count will NOT be increased.
slice in class WrappedCompositeByteBufpublic ByteBuf retainedSlice()
ByteBufbuf.slice(buf.readerIndex(), buf.readableBytes()).
This method does not modify readerIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice().
This method behaves similarly to slice().retain() except that this method may return
a buffer implementation that produces less garbage.
retainedSlice in class WrappedCompositeByteBufpublic ByteBuf slice(int index, int length)
ByteBufreaderIndex or writerIndex of
this buffer.
Also be aware that this method will NOT call ByteBuf.retain() and so the
reference count will NOT be increased.
slice in class WrappedCompositeByteBufpublic ByteBuf retainedSlice(int index, int length)
ByteBufreaderIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int).
This method behaves similarly to slice(...).retain() except that this method may return
a buffer implementation that produces less garbage.
retainedSlice in class WrappedCompositeByteBufpublic ByteBuf duplicate()
ByteBufreaderIndex or writerIndex 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.
duplicate in class WrappedCompositeByteBufByteBuf.slice().
However this buffer will share the capacity of the underlying buffer, and therefore allows access to all of the
underlying content if necessary.public ByteBuf retainedDuplicate()
ByteBufbuf.slice(0, buf.capacity()).
This method does not modify readerIndex or writerIndex of
this buffer.
Note that this method returns a retained buffer unlike ByteBuf.slice(int, int).
This method behaves similarly to duplicate().retain() except that this method may return
a buffer implementation that produces less garbage.
retainedDuplicate in class WrappedCompositeByteBufpublic ByteBuf readSlice(int length)
ByteBufreaderIndex and increases the readerIndex 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.
readSlice in class WrappedCompositeByteBuflength - the size of the new slicepublic ByteBuf readRetainedSlice(int length)
ByteBufreaderIndex and increases the readerIndex by the size
of the new slice (= length).
Note that this method returns a retained buffer unlike ByteBuf.readSlice(int).
This method behaves similarly to readSlice(...).retain() except that this method may return
a buffer implementation that produces less garbage.
readRetainedSlice in class WrappedCompositeByteBuflength - the size of the new slicepublic ByteBuf asReadOnly()
ByteBufasReadOnly in class WrappedCompositeByteBufprivate SimpleLeakAwareByteBuf newLeakAwareByteBuf(ByteBuf wrapped)
protected SimpleLeakAwareByteBuf newLeakAwareByteBuf(ByteBuf wrapped, ByteBuf trackedByteBuf, ResourceLeakTracker<ByteBuf> leakTracker)