Class IntegerStorageEngine
- java.lang.Object
-
- org.terracotta.offheapstore.storage.IntegerStorageEngine
-
- All Implemented Interfaces:
HalfStorageEngine<java.lang.Integer>
- Direct Known Subclasses:
PersistentIntegerStorageEngine
public class IntegerStorageEngine extends java.lang.Object implements HalfStorageEngine<java.lang.Integer>
A symmetricIntegerstorage engine.This engine stores the keys and values directly as their primitive representations, and therefore uses no additional data structure.
-
-
Field Summary
Fields Modifier and Type Field Description private static Factory<IntegerStorageEngine>FACTORYprivate static IntegerStorageEngineSINGLETON
-
Constructor Summary
Constructors Constructor Description IntegerStorageEngine()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbind(StorageEngine.Owner owner, long mask)voidclear()Called to indicate that all keys and values are now free.static Factory<IntegerStorageEngine>createFactory()voiddestroy()booleanequals(java.lang.Object key, int address)Called to determine the equality of the given Java object value against the given encoded form.voidfree(int address)Called to indicate that the associated encoded value is no longer needed.longgetAllocatedMemory()Returns a measure of the amount of memory allocated for this storage engine.longgetDataSize()Returns a measure of the total size of the keys and values stored in this storage engine.longgetOccupiedMemory()Returns a measure of the amount of memory consumed by this storage engine.longgetVitalMemory()Returns a measure of the amount of vital memory allocated for this storage engine.static IntegerStorageEngineinstance()voidinvalidateCache()Invalidate any local key/value caches.java.lang.Integerread(int address)Converts the supplied encoded value into its correct object form.booleanshrink()java.lang.Integerwrite(java.lang.Integer value, int hash)Converts the supplied value object into it's encoded form.
-
-
-
Field Detail
-
SINGLETON
private static final IntegerStorageEngine SINGLETON
-
FACTORY
private static final Factory<IntegerStorageEngine> FACTORY
-
-
Method Detail
-
instance
public static IntegerStorageEngine instance()
-
createFactory
public static Factory<IntegerStorageEngine> createFactory()
-
read
public java.lang.Integer read(int address)
Description copied from interface:HalfStorageEngineConverts the supplied encoded value into its correct object form.- Specified by:
readin interfaceHalfStorageEngine<java.lang.Integer>- Parameters:
address- encoded value- Returns:
- a decoded value object
-
write
public java.lang.Integer write(java.lang.Integer value, int hash)Description copied from interface:HalfStorageEngineConverts the supplied value object into it's encoded form.- Specified by:
writein interfaceHalfStorageEngine<java.lang.Integer>- Parameters:
value- a value objecthash- the keys hash- Returns:
- encoded value
-
free
public void free(int address)
Description copied from interface:HalfStorageEngineCalled to indicate that the associated encoded value is no longer needed.This call can be used to free any associated resources tied to the lifecycle of the supplied encoded value.
- Specified by:
freein interfaceHalfStorageEngine<java.lang.Integer>- Parameters:
address- encoded value
-
equals
public boolean equals(java.lang.Object key, int address)Description copied from interface:HalfStorageEngineCalled to determine the equality of the given Java object value against the given encoded form.Simple implementations will probably perform a decode on the given encoded form in order to do a regular
Object.equals(Object)comparison. This method is provided to allow implementations to optimize this comparison if possible.- Specified by:
equalsin interfaceHalfStorageEngine<java.lang.Integer>- Parameters:
key- a value objectaddress- encoded value- Returns:
trueif the value and the encoding are equal
-
clear
public void clear()
Description copied from interface:HalfStorageEngineCalled to indicate that all keys and values are now free.- Specified by:
clearin interfaceHalfStorageEngine<java.lang.Integer>
-
getAllocatedMemory
public long getAllocatedMemory()
Description copied from interface:HalfStorageEngineReturns a measure of the amount of memory allocated for this storage engine.- Specified by:
getAllocatedMemoryin interfaceHalfStorageEngine<java.lang.Integer>- Returns:
- memory allocated for this engine in bytes
-
getOccupiedMemory
public long getOccupiedMemory()
Description copied from interface:HalfStorageEngineReturns a measure of the amount of memory consumed by this storage engine.- Specified by:
getOccupiedMemoryin interfaceHalfStorageEngine<java.lang.Integer>- Returns:
- memory occupied by this engine in bytes
-
getVitalMemory
public long getVitalMemory()
Description copied from interface:HalfStorageEngineReturns a measure of the amount of vital memory allocated for this storage engine.- Specified by:
getVitalMemoryin interfaceHalfStorageEngine<java.lang.Integer>- Returns:
- vital memory allocated for this engine in bytes
-
getDataSize
public long getDataSize()
Description copied from interface:HalfStorageEngineReturns a measure of the total size of the keys and values stored in this storage engine.- Specified by:
getDataSizein interfaceHalfStorageEngine<java.lang.Integer>- Returns:
- size of the stored keys and values in bytes
-
invalidateCache
public void invalidateCache()
Description copied from interface:HalfStorageEngineInvalidate any local key/value caches.This is called to indicate the termination of a map write "phase". Caching is permitted within a write operation (i.e. to cache around allocation failures during eviction processes).
- Specified by:
invalidateCachein interfaceHalfStorageEngine<java.lang.Integer>
-
bind
public void bind(StorageEngine.Owner owner, long mask)
- Specified by:
bindin interfaceHalfStorageEngine<java.lang.Integer>
-
destroy
public void destroy()
- Specified by:
destroyin interfaceHalfStorageEngine<java.lang.Integer>
-
shrink
public boolean shrink()
- Specified by:
shrinkin interfaceHalfStorageEngine<java.lang.Integer>
-
-