Class SizeBasedCacheLimitPolicy

  • All Implemented Interfaces:
    CacheLimitPolicy

    public class SizeBasedCacheLimitPolicy
    extends Object
    implements CacheLimitPolicy
    A fixed capacity cache limit policy, which is not thread-safe, and the thread safe should be ensured by the invoker.
    • Constructor Detail

      • SizeBasedCacheLimitPolicy

        public SizeBasedCacheLimitPolicy​(long capacity,
                                         long sstFileSize)
    • Method Detail

      • isSafeToAdd

        public boolean isSafeToAdd​(long toAddSize)
        Description copied from interface: CacheLimitPolicy
        Whether the cache usage is safe to add.
        Specified by:
        isSafeToAdd in interface CacheLimitPolicy
        Returns:
        false if the toAddSize is larger than max available capacity, true otherwise.
      • isOverflow

        public boolean isOverflow​(long toAddSize,
                                  boolean hasFile)
        Description copied from interface: CacheLimitPolicy
        Whether the cache usage is exceeded the upperbound.
        Specified by:
        isOverflow in interface CacheLimitPolicy
        Parameters:
        toAddSize - the size about to add.
        hasFile - whether the file is already in cache.
        Returns:
        true if the cache usage is overflow, false otherwise.