Package one.microstream.collections.lazy
Class LazySegmentUnloader.Default
java.lang.Object
one.microstream.collections.lazy.LazySegmentUnloader.Default
- All Implemented Interfaces:
LazySegmentUnloader
- Enclosing interface:
- LazySegmentUnloader
public static final class LazySegmentUnloader.Default extends Object implements LazySegmentUnloader
Default implementation of LazyUnloader
This implementation will try to keep a configurable number of last loaded segments in memory. The number of loaded elements may vary because not stored or modified segments can't be unloaded.
This implementation will try to keep a configurable number of last loaded segments in memory. The number of loaded 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
-
Method Summary
Modifier and Type Method Description LazySegmentUnloader
copy()
Create a new copy of this LazySegmentUnloader.void
remove(LazySegment<?> segment)
Unregister the provided segment from the Unloader.void
unload(boolean unloadAll)
Tries to unload as much as possible elements from the collection.void
unload(LazySegment<?> lazySegment)
Tries to unload segments.
-
Constructor Details
-
Default
public Default()Creates a LazyUnloader.Default instance. This instance tries to keep two segments at least in memory. -
Default
public Default(int desiredLoadCount)Creates a LazyUnloader.Default instance.- Parameters:
desiredLoadCount
- number of segments that should be kept in memory, must be greater than 0.
-
-
Method Details
-
unload
Description copied from interface:LazySegmentUnloader
Tries to unload segments. Most implementation should not unload the currently used segment.- Specified by:
unload
in interfaceLazySegmentUnloader
- Parameters:
lazySegment
- LazySegment that is currently in use.
-
unload
public void unload(boolean unloadAll)Description copied from interface:LazySegmentUnloader
Tries 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:
unload
in interfaceLazySegmentUnloader
- Parameters:
unloadAll
- if true try to unload everything, try to fall below limit if possible.
-
copy
Description copied from interface:LazySegmentUnloader
Create a new copy of this LazySegmentUnloader.- Specified by:
copy
in interfaceLazySegmentUnloader
- Returns:
- a new copy of this LazySegmentUnloader
-
remove
Description copied from interface:LazySegmentUnloader
Unregister the provided segment from the Unloader.- Specified by:
remove
in interfaceLazySegmentUnloader
- Parameters:
segment
- Segment to be unregistered.
-