Class ConcurrentWriteLockedOffHeapClockCache<K,V>

Type Parameters:
K - the type of keys maintained by this cache
V - the type of mapped values
All Implemented Interfaces:
ConcurrentMap<K,V>, Map<K,V>, ConcurrentMapInternals, HashingMap<K,V>, MapInternals, PinnableCache<K,V>

public class ConcurrentWriteLockedOffHeapClockCache<K,V> extends AbstractConcurrentOffHeapCache<K,V>
A striped exclusive-read/write clock cache.

This implementation uses instances of WriteLockedOffHeapClockCache for its segments.

See Also:
  • Constructor Details

    • ConcurrentWriteLockedOffHeapClockCache

      public ConcurrentWriteLockedOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory)
      Creates a cache using the given table buffer source and storage engine factory.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
    • ConcurrentWriteLockedOffHeapClockCache

      public ConcurrentWriteLockedOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, EvictionListener<K,V> evictionListener)
      Creates a cache using the given table buffer source and storage engine factory.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      evictionListener - listener notified on evictions
    • ConcurrentWriteLockedOffHeapClockCache

      public ConcurrentWriteLockedOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, long tableSize, int concurrency)
      Creates a cache using the given table buffer source, storage engine factory, initial table size, and concurrency.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      tableSize - initial table size (summed across all segments)
      concurrency - number of segments
    • ConcurrentWriteLockedOffHeapClockCache

      public ConcurrentWriteLockedOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, EvictionListener<K,V> evictionListener, long tableSize, int concurrency)
      Creates a cache using the given table buffer source, storage engine factory, initial table size, and concurrency.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      evictionListener - listener notified on evictions
      tableSize - initial table size (summed across all segments)
      concurrency - number of segments