Package one.microstream.collections.lazy
Class LazySegmentUnloader.Timed
java.lang.Object
one.microstream.collections.lazy.LazySegmentUnloader.Timed
- All Implemented Interfaces:
LazySegmentUnloader
- Enclosing interface:
- LazySegmentUnloader
public static final class LazySegmentUnloader.Timed extends Object implements LazySegmentUnloader
Implementation of LazyUnloader
This implementation will try to unload segments that are older then the configured lifetime. The number of unloaded elements may vary because not stored or modified segments can't be unloaded.
This implementation will try to unload segments that are older then the configured lifetime. The number of unloaded elements may vary because not stored or modified segments can't be unloaded.
-
Nested Class Summary
Nested classes/interfaces inherited from interface one.microstream.collections.lazy.LazySegmentUnloader
LazySegmentUnloader.Default, LazySegmentUnloader.Never, LazySegmentUnloader.Timed -
Constructor Summary
Constructors Constructor Description Timed(long lifetime)Creates a LazyUnloader.Timed instance. -
Method Summary
Modifier and Type Method Description LazySegmentUnloadercopy()Create a new copy of this LazySegmentUnloader.voidremove(LazySegment<?> segment)Unregister the provided segment from the Unloader.voidunload(boolean unloadAll)Tries to unload as much as possible elements from the collection.voidunload(LazySegment<?> currentLazySegment)Tries to unload segments.
-
Constructor Details
-
Timed
public Timed(long lifetime)Creates a LazyUnloader.Timed instance.- Parameters:
lifetime- desired time to life in milliseconds.
-
-
Method Details
-
unload
Description copied from interface:LazySegmentUnloaderTries to unload segments. Most implementation should not unload the currently used segment.- Specified by:
unloadin interfaceLazySegmentUnloader- Parameters:
currentLazySegment- LazySegment that is currently in use.
-
unload
public void unload(boolean unloadAll)Description copied from interface:LazySegmentUnloaderTries to unload as much as possible elements from the collection. The amount of unloaded data depends on the unloader implementation details. E.g if the unloader is configured to keep a minimum of data in memory that minimum will not be unloaded as long as the parameter unloadAll is not specified. If unloadAll is try it will try to to fall below that limit.- Specified by:
unloadin interfaceLazySegmentUnloader- Parameters:
unloadAll- if true try to unload everything, try to fall below limit if possible.
-
copy
Description copied from interface:LazySegmentUnloaderCreate a new copy of this LazySegmentUnloader.- Specified by:
copyin interfaceLazySegmentUnloader- Returns:
- a new copy of this LazySegmentUnloader
-
remove
Description copied from interface:LazySegmentUnloaderUnregister the provided segment from the Unloader.- Specified by:
removein interfaceLazySegmentUnloader- Parameters:
segment- Segment to be unregistered.
-