Class SmartLengthBasedCache<T>

java.lang.Object
com.gigaspaces.internal.io.SmartLengthBasedCache<T>
Direct Known Subclasses:
SmartByteArrayCache, SmartByteBufferCache

public abstract class SmartLengthBasedCache<T> extends Object
A smart length based caching based on soft reference
Since:
9.6
Author:
eitany
  • Constructor Details

    • SmartLengthBasedCache

      public SmartLengthBasedCache(int maxCachedBufferLength, double expungeRatio, int expungeCount, int defaultResourceLength, ISmartLengthBasedCacheCallback callback)
  • Method Details

    • get

      public T get(int length)
    • tryCacheResource

      protected void tryCacheResource(T resource)
    • prepareResource

      protected abstract void prepareResource(T resource)
    • prepareResource

      protected abstract void prepareResource(T resource, int length)
    • createResource

      protected abstract T createResource(int length)
    • getResourceCapacity

      protected abstract int getResourceCapacity(T resource)
    • getLength

      public long getLength()
    • get

      public T get()
    • set

      public void set(T resource)
    • notifyUsedSize

      public void notifyUsedSize(int usedSize)
    • toCacheCallback

      public static ISmartLengthBasedCacheCallback toCacheCallback(IMemoryAwareResourcePool resourcePool)