org.infinispan.container
Class SpinLockBasedLRUDataContainer
java.lang.Object
org.infinispan.container.SpinLockBasedFIFODataContainer
org.infinispan.container.SpinLockBasedLRUDataContainer
- All Implemented Interfaces:
- Iterable<InternalCacheEntry>, DataContainer
@ThreadSafe
public class SpinLockBasedLRUDataContainer
- extends SpinLockBasedFIFODataContainer
A data container that exposes an iterator that is ordered based on least recently used (visited) entries first.
This builds on the SpinLockBasedFIFODataContainer
by calling updateLinks(org.infinispan.container.SpinLockBasedFIFODataContainer.LinkedEntry)
even for
get(Object)
invocations to make sure ordering is intact, as per LRU.
- Since:
- 4.0
- Author:
- Manik Surtani
Nested classes/interfaces inherited from class org.infinispan.container.SpinLockBasedFIFODataContainer |
SpinLockBasedFIFODataContainer.Aux, SpinLockBasedFIFODataContainer.EntryIterator, SpinLockBasedFIFODataContainer.EntrySet, SpinLockBasedFIFODataContainer.ImmutableEntryIterator, SpinLockBasedFIFODataContainer.KeyIterator, SpinLockBasedFIFODataContainer.KeySet, SpinLockBasedFIFODataContainer.LinkedEntry, SpinLockBasedFIFODataContainer.LinkedIterator, SpinLockBasedFIFODataContainer.SpinLock, SpinLockBasedFIFODataContainer.ValueIterator, SpinLockBasedFIFODataContainer.Values |
Methods inherited from class org.infinispan.container.SpinLockBasedFIFODataContainer |
clear, containsKey, entrySet, initLinks, iterator, keySet, purgeExpired, put, remove, size, values |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SpinLockBasedLRUDataContainer
public SpinLockBasedLRUDataContainer()
get
public InternalCacheEntry get(Object k)
- Description copied from interface:
DataContainer
- Retrieves a cached entry
- Specified by:
get
in interface DataContainer
- Overrides:
get
in class SpinLockBasedFIFODataContainer
- Parameters:
k
- key under which entry is stored
- Returns:
- entry, if it exists and has not expired, or null if not
updateLinks
protected final void updateLinks(SpinLockBasedFIFODataContainer.LinkedEntry l)
- Updates links on this entry, moving it to the end of the linked list
- Parameters:
l
- linked entry to update
Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.