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.EvictionPolicy
cMaximum
- 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.EvictionPolicy
entry
- the Cache Entry that has been touchedpublic String getName()
getName
in interface ConfigurableCacheMap.EvictionPolicy
protected 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