Class ConcurrentOffHeapClockCache<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapMap<K,V>
-
- org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache<K,V>
-
- org.terracotta.offheapstore.concurrent.ConcurrentOffHeapClockCache<K,V>
-
- Type Parameters:
K- the type of keys maintained by this cacheV- the type of mapped values
- All Implemented Interfaces:
java.util.concurrent.ConcurrentMap<K,V>,java.util.Map<K,V>,ConcurrentMapInternals,HashingMap<K,V>,MapInternals,PinnableCache<K,V>
public class ConcurrentOffHeapClockCache<K,V> extends AbstractConcurrentOffHeapCache<K,V>
A striped concurrent-read/exclusive-write clock cache.This implementation uses instances of
ReadWriteLockedOffHeapClockCachefor its segments.- See Also:
ReadWriteLockedOffHeapClockCache
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapMap
AbstractConcurrentOffHeapMap.AggregatedValuesCollection, AbstractConcurrentOffHeapMap.AggregateEntrySet, AbstractConcurrentOffHeapMap.AggregateIterator<T>, AbstractConcurrentOffHeapMap.AggregateKeySet
-
-
Field Summary
-
Fields inherited from class org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapMap
segments
-
-
Constructor Summary
Constructors Constructor Description ConcurrentOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K,? super V>> storageEngineFactory)Creates a cache using the given table buffer source and storage engine factory.ConcurrentOffHeapClockCache(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.ConcurrentOffHeapClockCache(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.ConcurrentOffHeapClockCache(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.ConcurrentOffHeapClockCache(Factory<? extends AbstractOffHeapClockCache<K,V>> segmentFactory, int concurrency)Creates a cache using the given table buffer source and storage engine factory.
-
Method Summary
-
Methods inherited from class org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapCache
fill, getAndPin, isPinned, putPinned, segmentFor, setPinning, shrink, shrinkOthers
-
Methods inherited from class org.terracotta.offheapstore.concurrent.AbstractConcurrentOffHeapMap
clear, computeIfAbsentWithMetadata, computeIfPresentWithMetadata, computeWithMetadata, containsKey, containsValue, destroy, entrySet, fill, get, getAllocatedMemory, getAndSetMetadata, getConcurrency, getDataAllocatedMemory, getDataOccupiedMemory, getDataSize, getDataVitalMemory, getIndexFor, getMetadata, getOccupiedMemory, getRemovedSlotCount, getReprobeLength, getSegmentInternals, getSegments, getSize, getTableCapacity, getUsedSlotCount, getValueAndSetMetadata, getVitalMemory, handleOversizeMappingException, keySet, put, put, putIfAbsent, readLockAll, readUnlockAll, remove, remove, removeAllWithHash, removeNoReturn, replace, replace, segmentFor, size, values, writeLockAll, writeUnlockAll
-
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, isEmpty, putAll, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
ConcurrentOffHeapClockCache
public ConcurrentOffHeapClockCache(Factory<? extends AbstractOffHeapClockCache<K,V>> segmentFactory, int concurrency)
Creates a cache using the given table buffer source and storage engine factory.- Parameters:
segmentFactory- the factory to use to build segmentsconcurrency- the number of segments to use
-
ConcurrentOffHeapClockCache
public ConcurrentOffHeapClockCache(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 allocatedstorageEngineFactory- factory for the segment storage engines
-
ConcurrentOffHeapClockCache
public ConcurrentOffHeapClockCache(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 allocatedstorageEngineFactory- factory for the segment storage enginesevictionListener- listener notified on evictions
-
ConcurrentOffHeapClockCache
public ConcurrentOffHeapClockCache(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 allocatedstorageEngineFactory- factory for the segment storage enginestableSize- initial table size (summed across all segments)concurrency- number of segments
-
ConcurrentOffHeapClockCache
public ConcurrentOffHeapClockCache(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 allocatedstorageEngineFactory- factory for the segment storage enginesevictionListener- listener notified on evictionstableSize- initial table size (summed across all segments)concurrency- number of segments
-
-