Class ChainsSegments
java.lang.Object
com.gigaspaces.internal.server.space.eviction.ChainsSegments
- All Implemented Interfaces:
IEvictionChain
segments. each segment is mostly concurrent chain. mostly concurrent chain segment can be used
for LRU and FIFO eviction insertion is totally non-blocking, and to a random segment removal
locks the specific node + its previous in order to keep balanced list segments are used to spread
contention
- Since:
- 7.0
- Author:
- Yechiel Feffer
-
Constructor Summary
ConstructorsConstructorDescriptionChainsSegments(boolean unsafe, int evictionThreshold) ChainsSegments(boolean unsafe, int evictionThreshold, int numOfSegments) -
Method Summary
Modifier and TypeMethodDescriptionvoidinsert(EvictableServerEntry entry) booleanisEvictable(EvictableServerEntry entry) voidmonitor()booleanremove(EvictableServerEntry entry) booleantouch(EvictableServerEntry entry)
-
Constructor Details
-
ChainsSegments
public ChainsSegments() -
ChainsSegments
public ChainsSegments(boolean unsafe, int evictionThreshold) -
ChainsSegments
public ChainsSegments(boolean unsafe, int evictionThreshold, int numOfSegments)
-
-
Method Details
-
insert
- Specified by:
insertin interfaceIEvictionChain
-
remove
- Specified by:
removein interfaceIEvictionChain
-
touch
- Specified by:
touchin interfaceIEvictionChain
-
isEvictable
- Specified by:
isEvictablein interfaceIEvictionChain
-
evictionCandidates
- Specified by:
evictionCandidatesin interfaceIEvictionChain
-
monitor
public void monitor()
-