Class NodeFactory.WStR<K,V>
java.lang.Object
com.github.benmanes.caffeine.cache.NodeFactory.WSt<K,V>
com.github.benmanes.caffeine.cache.NodeFactory.WStR<K,V>
- All Implemented Interfaces:
AccessOrderDeque.AccessOrder<Node<K,
,V>> Node<K,
,V> WriteOrderDeque.WriteOrder<Node<K,
V>>
- Direct Known Subclasses:
NodeFactory.WStRMS
,NodeFactory.WStRMW
- Enclosing class:
- NodeFactory
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final long
private long
Fields inherited from class com.github.benmanes.caffeine.cache.NodeFactory.WSt
KEY_OFFSET, VALUE_OFFSET
-
Constructor Summary
ConstructorsConstructorDescriptionWStR
(Object keyReference, V value, ReferenceQueue<V> valueReferenceQueue, int weight, long now) WStR
(K key, ReferenceQueue<K> keyReferenceQueue, V value, ReferenceQueue<V> valueReferenceQueue, int weight, long now) -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
casWriteTime
(long expect, long update) Atomically sets the write time to the given updated value if the current value equals the expected value and returns if the update was successful.final long
Returns the time that this entry was last written, in ns.final void
setWriteTime
(long writeTime) Sets the write time in nanoseconds.Methods inherited from class com.github.benmanes.caffeine.cache.NodeFactory.WSt
containsValue, die, getKey, getKeyReference, getValue, getValueReference, isAlive, isDead, isRetired, retire, setValue, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.github.benmanes.caffeine.cache.Node
getAccessTime, getNextInAccessOrder, getNextInWriteOrder, getPolicyWeight, getPreviousInAccessOrder, getPreviousInWriteOrder, getQueueType, getWeight, inEden, inMainProbation, inMainProtected, makeMainProbation, makeMainProtected, setAccessTime, setNextInAccessOrder, setNextInWriteOrder, setPolicyWeight, setPreviousInAccessOrder, setPreviousInWriteOrder, setQueueType, setWeight
-
Field Details
-
WRITE_TIME_OFFSET
protected static final long WRITE_TIME_OFFSET -
writeTime
private volatile long writeTime
-
-
Constructor Details
-
WStR
WStR(K key, ReferenceQueue<K> keyReferenceQueue, V value, ReferenceQueue<V> valueReferenceQueue, int weight, long now) -
WStR
WStR(Object keyReference, V value, ReferenceQueue<V> valueReferenceQueue, int weight, long now)
-
-
Method Details
-
getWriteTime
public final long getWriteTime()Description copied from interface:Node
Returns the time that this entry was last written, in ns. -
setWriteTime
public final void setWriteTime(long writeTime) Description copied from interface:Node
Sets the write time in nanoseconds. This update may be set lazily and rely on the memory fence when the lock is released. -
casWriteTime
public final boolean casWriteTime(long expect, long update) Description copied from interface:Node
Atomically sets the write time to the given updated value if the current value equals the expected value and returns if the update was successful.
-