|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.cache.eviction.BaseEvictionAlgorithm org.jboss.cache.eviction.BaseSortedEvictionAlgorithm
public abstract class BaseSortedEvictionAlgorithm
An abstract SortedEvictionAlgorithm.
This class supports early termination of the eviction queue processing. Because the eviction queue is sorted by first to evict to last to evict, when iterating the eviction queue, the first time a node is encountered that does not require eviction will terminate the loop early. This way we don't incur the full breadth of the O(n) = n operation everytime we need to check for eviction (defined by eviction poll time interval).
Field Summary |
---|
Fields inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm |
---|
evictionQueue, recycleQueue, region |
Constructor Summary | |
---|---|
BaseSortedEvictionAlgorithm()
|
Method Summary | |
---|---|
void |
process(Region region)
Process the given region. |
protected void |
processQueues(Region region)
Event processing for Evict/Add/Visiting of nodes. |
protected void |
resortEvictionQueue(boolean evictionQueueModified)
This method is called to resort the queue after add or visit events have occurred. |
Methods inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm |
---|
emptyRecycleQueue, evict, evictCacheNode, getEvictionQueue, initialize, isNodeInUseAndNotTimedOut, processAddedElement, processAddedNodes, processMarkInUseNodes, processRemovedElement, processRemovedNodes, processUnmarkInUseNodes, processVisitedNodes, prune, resetEvictionQueue, setupEvictionQueue, shouldEvictNode, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jboss.cache.eviction.EvictionAlgorithm |
---|
getEvictionQueue, resetEvictionQueue |
Constructor Detail |
---|
public BaseSortedEvictionAlgorithm()
Method Detail |
---|
public void process(Region region) throws EvictionException
BaseEvictionAlgorithm
process
in interface EvictionAlgorithm
process
in class BaseEvictionAlgorithm
region
- Cache region to process for eviction.
EvictionException
protected void processQueues(Region region) throws EvictionException
BaseEvictionAlgorithm
processQueues
in class BaseEvictionAlgorithm
region
- Cache region to process for eviction.
EvictionException
protected void resortEvictionQueue(boolean evictionQueueModified)
evictionQueueModified
- True if the queue was added to or visisted during event processing.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |