org.terracotta.offheapstore.disk.persistent
Class AbstractPersistentOffHeapCache<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by org.terracotta.offheapstore.OffHeapHashMap<K,V>
          extended by org.terracotta.offheapstore.AbstractLockedOffHeapHashMap<K,V>
              extended by org.terracotta.offheapstore.AbstractOffHeapClockCache<K,V>
                  extended by org.terracotta.offheapstore.disk.persistent.AbstractPersistentOffHeapCache<K,V>
All Implemented Interfaces:
ConcurrentMap<K,V>, ReadWriteLock, Map<K,V>, Persistent, HashingMap<K,V>, MapInternals, PinnableCache<K,V>, PinnableSegment<K,V>, Segment<K,V>, StorageEngine.Owner
Direct Known Subclasses:
PersistentReadWriteLockedOffHeapClockCache

public abstract class AbstractPersistentOffHeapCache<K,V>
extends AbstractOffHeapClockCache<K,V>
implements Persistent

Author:
Chris Dennis

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class org.terracotta.offheapstore.OffHeapHashMap
ENCODING, ENTRY_BIT_SHIFT, ENTRY_SIZE, hashtable, hashTablePage, KEY_HASHCODE, modCount, removedSlots, reprobeLimit, RESERVED_STATUS_BITS, size, STATUS, STATUS_REMOVED, STATUS_USED, storageEngine, tableSource
 
Constructor Summary
AbstractPersistentOffHeapCache(MappedPageSource tableSource, PersistentStorageEngine<? super K,? super V> storageEngine, boolean bootstrap)
           
AbstractPersistentOffHeapCache(MappedPageSource tableSource, PersistentStorageEngine<? super K,? super V> storageEngine, int tableSize, boolean bootstrap)
           
 
Method Summary
 void bootstrap(ObjectInput input)
           
 void close()
           
 void flush()
           
 void persist(ObjectOutput output)
           
 
Methods inherited from class org.terracotta.offheapstore.AbstractOffHeapClockCache
evict, evictable, getAndPin, getEvictionIndex, hit, isPinned, putPinned, setPinning, storageEngineFailure, tableExpansionFailure
 
Methods inherited from class org.terracotta.offheapstore.AbstractLockedOffHeapHashMap
clear, computeIfAbsentWithMetadata, computeIfPresentWithMetadata, computeWithMetadata, containsKey, destroy, entrySet, fill, fill, get, getAndSetMetadata, getEncodingForHashAndBinary, getMetadata, getValueAndSetMetadata, installMappingForHashAndEncoding, keySet, put, put, putIfAbsent, readLock, remove, remove, removeAllWithHash, removeMapping, removeNoReturn, replace, replace, shrink, size, values, writeLock
 
Methods inherited from class org.terracotta.offheapstore.OffHeapHashMap
added, encodingSet, fill, freePendingTables, getAllocatedMemory, getAtTableOffset, getDataAllocatedMemory, getDataOccupiedMemory, getDataSize, getDataVitalMemory, getEntryAtTableOffset, getOccupiedMemory, getRemovedSlotCount, getReprobeLength, getSize, getSlotForHashAndEncoding, getStorageEngine, getTableCapacity, getUsedSlotCount, getVitalMemory, indexFor, indexFor, isAvailable, isPresent, isRemoved, isRemoved, isTerminating, isTerminating, isThiefForTableAllocations, readLong, readLong, removeAtTableOffset, removed, shrinkTable, spread, tryIncreaseReprobe, updated, updateEncoding
 
Methods inherited from class java.util.AbstractMap
clone, containsValue, equals, hashCode, isEmpty, putAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.terracotta.offheapstore.Segment
computeIfAbsentWithMetadata, computeIfPresentWithMetadata, computeWithMetadata, destroy, fill, fill, getAndSetMetadata, getLock, getMetadata, getValueAndSetMetadata, put, removeNoReturn, shrink
 
Methods inherited from interface org.terracotta.offheapstore.MapInternals
getAllocatedMemory, getDataAllocatedMemory, getDataOccupiedMemory, getDataSize, getDataVitalMemory, getOccupiedMemory, getRemovedSlotCount, getReprobeLength, getSize, getTableCapacity, getUsedSlotCount, getVitalMemory
 
Methods inherited from interface java.util.concurrent.locks.ReadWriteLock
readLock, writeLock
 
Methods inherited from interface org.terracotta.offheapstore.HashingMap
removeAllWithHash
 
Methods inherited from interface java.util.concurrent.ConcurrentMap
putIfAbsent, remove, replace, replace
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

AbstractPersistentOffHeapCache

public AbstractPersistentOffHeapCache(MappedPageSource tableSource,
                                      PersistentStorageEngine<? super K,? super V> storageEngine,
                                      boolean bootstrap)

AbstractPersistentOffHeapCache

public AbstractPersistentOffHeapCache(MappedPageSource tableSource,
                                      PersistentStorageEngine<? super K,? super V> storageEngine,
                                      int tableSize,
                                      boolean bootstrap)
Method Detail

flush

public void flush()
           throws IOException
Specified by:
flush in interface Persistent
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Persistent
Throws:
IOException

persist

public void persist(ObjectOutput output)
             throws IOException
Specified by:
persist in interface Persistent
Throws:
IOException

bootstrap

public void bootstrap(ObjectInput input)
               throws IOException
Specified by:
bootstrap in interface Persistent
Throws:
IOException


Copyright © 2016. All rights reserved.