Class ReferenceCountUpdater<T extends ReferenceCounted>
java.lang.Object
io.netty.util.internal.ReferenceCountUpdater<T>
Common logic for
ReferenceCounted implementations-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic longgetUnsafeOffset(Class<? extends ReferenceCounted> clz, String fieldName) final intfinal booleanisLiveNonVolatile(T instance) private booleannonFinalRelease0(T instance, int decrement, int rawCnt, int realCnt) private intnonVolatileRawCnt(T instance) private static intrealRefCnt(int rawCnt) final intfinal booleanfinal booleanfinal voidresetRefCnt(T instance) Resets the reference count to 1final Tfinal Tprivate Tprivate booleanretryRelease0(T instance, int decrement) voidsetInitialValue(T instance) final voidAn unsafe operation that sets the reference count directlyprivate static inttoLiveRealRefCnt(int rawCnt, int decrement) LikerealRefCnt(int)but throws if refCnt == 0private booleantryFinalRelease0(T instance, int expectRawCnt) protected abstract longprotected abstract AtomicIntegerFieldUpdater<T> updater()
-
Constructor Details
-
ReferenceCountUpdater
protected ReferenceCountUpdater()
-
-
Method Details
-
getUnsafeOffset
-
updater
-
unsafeOffset
protected abstract long unsafeOffset() -
initialValue
public final int initialValue() -
setInitialValue
-
realRefCnt
private static int realRefCnt(int rawCnt) -
toLiveRealRefCnt
private static int toLiveRealRefCnt(int rawCnt, int decrement) LikerealRefCnt(int)but throws if refCnt == 0 -
nonVolatileRawCnt
-
refCnt
-
isLiveNonVolatile
-
setRefCnt
An unsafe operation that sets the reference count directly -
resetRefCnt
Resets the reference count to 1 -
retain
-
retain
-
retain0
-
release
-
release
-
tryFinalRelease0
-
nonFinalRelease0
-
retryRelease0
-