protected abstract class CompactSerializationCache.InternalEvictionPolicy extends Object implements ConfigurableCacheMap.EvictionPolicy
ConfigurableCacheMap.EvictionPolicy used by this CompactSerializationCache.| Modifier and Type | Class and Description |
|---|---|
protected class |
CompactSerializationCache.InternalEvictionPolicy.EvictionCandidate
EvictionCandidate represents a candidate for eviction during the calculation of the eviction set, representing the key, its relative "weight" as assigned by the configured
ConfigurableCacheMap.EvictionPolicy as well as its size in units. |
protected class |
CompactSerializationCache.InternalEvictionPolicy.EvictionVisitor
SafeEntryVisitor implementation that calculates the set of eviction candidates.
|
| Modifier and Type | Field and Description |
|---|---|
protected BinaryLongMap.EntryVisitor |
f_visitorTouchCount
The singleton stateless visitor to update the touch-count map.
|
protected BinaryLongMap.EntryVisitor |
f_visitorTouchTime
The singleton stateless visitor to update the touch-time map.
|
protected long |
m_ldtLastEvict
The date-time of the last eviction.
|
| Modifier | Constructor and Description |
|---|---|
protected |
InternalEvictionPolicy() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract long |
calculateWeight(Binary binKey)
Calculate the "weight" of the entry associated with the specified key.
|
void |
entryTouched(Binary binKey)
This method is called by the cache to indicate that the entry for the specified key has been touched.
|
void |
entryTouched(ConfigurableCacheMap.Entry entry)
This method is called by the cache to indicate that an entry has been touched.
|
protected abstract ConfigurableCacheMap.EvictionPolicy |
getConfiguredPolicy()
Return the
configured EvictionPolicy instance. |
String |
getName()
Obtain the name of the eviction policy.
|
void |
requestEviction(int cMaximum)
This method is called by the cache when the cache requires the eviction policy to evict entries.
|
protected void |
touchInternal(Binary binKey)
Update the internally maintained "touch"-related statistics for the specified key (e.g. touch time and touch count).
|
protected long m_ldtLastEvict
protected final BinaryLongMap.EntryVisitor f_visitorTouchCount
protected final BinaryLongMap.EntryVisitor f_visitorTouchTime
public void requestEviction(int cMaximum)
requestEviction in interface ConfigurableCacheMap.EvictionPolicycMaximum - the maximum number of units that should remain in the cache when the eviction is completepublic void entryTouched(ConfigurableCacheMap.Entry entry)
entryTouched in interface ConfigurableCacheMap.EvictionPolicyentry - the Cache Entry that has been touchedpublic String getName()
getName in interface ConfigurableCacheMap.EvictionPolicyprotected abstract ConfigurableCacheMap.EvictionPolicy getConfiguredPolicy()
configured EvictionPolicy instance.protected abstract long calculateWeight(Binary binKey)
binKey - the key to calculate the weight forpublic void entryTouched(Binary binKey)
binKey - the keyprotected void touchInternal(Binary binKey)
binKey - the key being touched