Class TimerWheel.Sentinel<K,V>
- java.lang.Object
-
- com.github.benmanes.caffeine.cache.Node<K,V>
-
- com.github.benmanes.caffeine.cache.TimerWheel.Sentinel<K,V>
-
- All Implemented Interfaces:
AccessOrderDeque.AccessOrder<Node<K,V>>,WriteOrderDeque.WriteOrder<Node<K,V>>
- Enclosing class:
- TimerWheel<K,V>
static final class TimerWheel.Sentinel<K,V> extends Node<K,V>
A sentinel for the doubly-linked list in the bucket.
-
-
Constructor Summary
Constructors Constructor Description Sentinel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsValue(java.lang.Object value)Returnstrueif the given objects are considered equivalent.voiddie()Sets the node to the dead state.@Nullable KgetKey()Return the key ornullif it has been reclaimed by the garbage collector.java.lang.ObjectgetKeyReference()Returns the reference that the cache is holding the entry by.Node<K,V>getNextInVariableOrder()Node<K,V>getPreviousInVariableOrder()@Nullable VgetValue()Return the value ornullif it has been reclaimed by the garbage collector.java.lang.ObjectgetValueReference()Returns the reference to the value.booleanisAlive()If the entry is available in the hash-table and page replacement policy.booleanisDead()If the entry was removed from the hash-table and the page replacement policy.booleanisRetired()If the entry was removed from the hash-table and is awaiting removal from the page replacement policy.voidretire()Sets the node to the retired state.voidsetNextInVariableOrder(@Nullable Node<K,V> next)voidsetPreviousInVariableOrder(@Nullable Node<K,V> prev)voidsetValue(V value, @Nullable java.lang.ref.ReferenceQueue<V> referenceQueue)Sets the value, which may be held strongly, weakly, or softly.-
Methods inherited from class com.github.benmanes.caffeine.cache.Node
casVariableTime, casWriteTime, getAccessTime, getNextInAccessOrder, getNextInWriteOrder, getPolicyWeight, getPreviousInAccessOrder, getPreviousInWriteOrder, getQueueType, getVariableTime, getWeight, getWriteTime, inMainProbation, inMainProtected, inWindow, makeMainProbation, makeMainProtected, makeWindow, setAccessTime, setNextInAccessOrder, setNextInWriteOrder, setPolicyWeight, setPreviousInAccessOrder, setPreviousInWriteOrder, setQueueType, setVariableTime, setWeight, setWriteTime, toString
-
-
-
-
Method Detail
-
getPreviousInVariableOrder
public Node<K,V> getPreviousInVariableOrder()
- Overrides:
getPreviousInVariableOrderin classNode<K,V>
-
setPreviousInVariableOrder
public void setPreviousInVariableOrder(@Nullable Node<K,V> prev)
- Overrides:
setPreviousInVariableOrderin classNode<K,V>
-
getNextInVariableOrder
public Node<K,V> getNextInVariableOrder()
- Overrides:
getNextInVariableOrderin classNode<K,V>
-
setNextInVariableOrder
public void setNextInVariableOrder(@Nullable Node<K,V> next)
- Overrides:
setNextInVariableOrderin classNode<K,V>
-
getKey
public @Nullable K getKey()
Description copied from class:NodeReturn the key ornullif it has been reclaimed by the garbage collector.
-
getKeyReference
public java.lang.Object getKeyReference()
Description copied from class:NodeReturns the reference that the cache is holding the entry by. This is either the key if strongly held or aWeakReferenceto that key.- Specified by:
getKeyReferencein classNode<K,V>
-
getValue
public @Nullable V getValue()
Description copied from class:NodeReturn the value ornullif it has been reclaimed by the garbage collector.
-
getValueReference
public java.lang.Object getValueReference()
Description copied from class:NodeReturns the reference to the value. This is either the value if strongly held or aReferenceto that value.- Specified by:
getValueReferencein classNode<K,V>
-
setValue
public void setValue(V value, @Nullable java.lang.ref.ReferenceQueue<V> referenceQueue)
Description copied from class:NodeSets the value, which may be held strongly, weakly, or softly. This update may be set lazily and rely on the memory fence when the lock is released.
-
containsValue
public boolean containsValue(java.lang.Object value)
Description copied from class:NodeReturnstrueif the given objects are considered equivalent. A strongly held value is compared by equality and a weakly or softly held value is compared by identity.- Specified by:
containsValuein classNode<K,V>
-
isAlive
public boolean isAlive()
Description copied from class:NodeIf the entry is available in the hash-table and page replacement policy.
-
isRetired
public boolean isRetired()
Description copied from class:NodeIf the entry was removed from the hash-table and is awaiting removal from the page replacement policy.
-
isDead
public boolean isDead()
Description copied from class:NodeIf the entry was removed from the hash-table and the page replacement policy.
-
retire
public void retire()
Description copied from class:NodeSets the node to the retired state.
-
-