public abstract class AbstractReferenceCountedByteBuf extends AbstractByteBuf
ByteBuf
implementations that count references.Modifier and Type | Field and Description |
---|---|
private int |
refCnt |
private static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<AbstractReferenceCountedByteBuf> |
refCntUpdater |
leakDetector, readerIndex, writerIndex
Modifier | Constructor and Description |
---|---|
protected |
AbstractReferenceCountedByteBuf(int maxCapacity) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
deallocate()
Called once
refCnt() is equals 0. |
int |
refCnt()
Returns the reference count of this object.
|
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 . |
private boolean |
release0(int decrement) |
ByteBuf |
retain()
Increases the reference count by
1 . |
ByteBuf |
retain(int increment)
Increases the reference count by the specified
increment . |
private ByteBuf |
retain0(int increment) |
protected void |
setRefCnt(int refCnt)
An unsafe operation intended for use by a subclass that sets the reference count of the buffer directly
|
_getByte, _getInt, _getLong, _getShort, _getUnsignedMedium, _setByte, _setInt, _setLong, _setMedium, _setShort, adjustMarkers, bytesBefore, bytesBefore, bytesBefore, checkDstIndex, checkIndex, checkIndex, checkIndex0, checkReadableBytes, checkSrcIndex, clear, compareTo, copy, discardMarks, discardReadBytes, discardSomeReadBytes, duplicate, ensureAccessible, ensureWritable, ensureWritable, equals, forEachByte, forEachByte, forEachByteDesc, forEachByteDesc, getBoolean, getByte, getBytes, getBytes, getBytes, getChar, getDouble, getFloat, getInt, getLong, getMedium, getShort, getUnsignedByte, getUnsignedInt, getUnsignedMedium, getUnsignedShort, hashCode, indexOf, isReadable, isReadable, isWritable, isWritable, markReaderIndex, markWriterIndex, maxCapacity, maxCapacity, maxWritableBytes, newSwappedByteBuf, nioBuffer, nioBuffers, order, readableBytes, readBoolean, readByte, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readBytes, readChar, readDouble, readerIndex, readerIndex, readFloat, readInt, readLong, readMedium, readShort, readSlice, readUnsignedByte, readUnsignedInt, readUnsignedMedium, readUnsignedShort, resetReaderIndex, resetWriterIndex, setBoolean, setByte, setBytes, setBytes, setBytes, setChar, setDouble, setFloat, setIndex, setIndex0, setInt, setLong, setMedium, setShort, setZero, skipBytes, slice, slice, toString, toString, toString, writableBytes, writeBoolean, writeByte, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeBytes, writeChar, writeDouble, writeFloat, writeInt, writeLong, writeMedium, writerIndex, writerIndex, writeShort, writeZero
alloc, array, arrayOffset, capacity, capacity, copy, getBytes, getBytes, getBytes, getBytes, getBytes, hasArray, hasMemoryAddress, internalNioBuffer, isDirect, memoryAddress, nioBuffer, nioBufferCount, nioBuffers, order, setBytes, setBytes, setBytes, setBytes, setBytes, unwrap
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<AbstractReferenceCountedByteBuf> refCntUpdater
private volatile int refCnt
protected AbstractReferenceCountedByteBuf(int maxCapacity)
public int refCnt()
ReferenceCounted
0
, it means this object has been deallocated.protected final void setRefCnt(int refCnt)
public ByteBuf retain()
ReferenceCounted
1
.retain
in interface ReferenceCounted
retain
in class ByteBuf
public ByteBuf retain(int increment)
ReferenceCounted
increment
.retain
in interface ReferenceCounted
retain
in class ByteBuf
private ByteBuf retain0(int increment)
public boolean release()
ReferenceCounted
1
and deallocates this object if the reference count reaches at
0
.true
if and only if the reference count became 0
and this object has been deallocatedpublic boolean release(int decrement)
ReferenceCounted
decrement
and deallocates this object if the reference
count reaches at 0
.true
if and only if the reference count became 0
and this object has been deallocatedprivate boolean release0(int decrement)
protected abstract void deallocate()
refCnt()
is equals 0.