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.
  • Constructor Details

    • Timed

      public Timed​(long lifetime)
      Creates a LazyUnloader.Timed instance.
      Parameters:
      lifetime - desired time to life in milliseconds.
  • Method Details

    • unload

      public void unload​(LazySegment<?> currentLazySegment)
      Description copied from interface: LazySegmentUnloader
      Tries to unload segments. Most implementation should not unload the currently used segment.
      Specified by:
      unload in interface LazySegmentUnloader
      Parameters:
      currentLazySegment - 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 interface LazySegmentUnloader
      Parameters:
      unloadAll - if true try to unload everything, try to fall below limit if possible.
    • copy

      public LazySegmentUnloader copy()
      Description copied from interface: LazySegmentUnloader
      Create a new copy of this LazySegmentUnloader.
      Specified by:
      copy in interface LazySegmentUnloader
      Returns:
      a new copy of this LazySegmentUnloader
    • remove

      public void remove​(LazySegment<?> segment)
      Description copied from interface: LazySegmentUnloader
      Unregister the provided segment from the Unloader.
      Specified by:
      remove in interface LazySegmentUnloader
      Parameters:
      segment - Segment to be unregistered.