org.terracotta.offheapstore.storage
Interface HalfStorageEngine<T>

All Known Subinterfaces:
PersistentHalfStorageEngine<T>
All Known Implementing Classes:
BooleanHalfStorageEngine, IntegerStorageEngine, OffHeapBufferHalfStorageEngine, PersistentIntegerStorageEngine, PortabilityBasedHalfStorageEngine

public interface HalfStorageEngine<T>

Author:
cdennis

Method Summary
 void bind(StorageEngine.Owner owner, long mask)
           
 void clear()
          Called to indicate that all keys and values are now free.
 void destroy()
           
 boolean equals(Object object, int encoding)
          Called to determine the equality of the given Java object value against the given encoded form.
 void free(int encoding)
          Called to indicate that the associated encoded value is no longer needed.
 long getAllocatedMemory()
          Returns a measure of the amount of memory allocated for this storage engine.
 long getDataSize()
          Returns a measure of the total size of the keys and values stored in this storage engine.
 long getOccupiedMemory()
          Returns a measure of the amount of memory consumed by this storage engine.
 long getVitalMemory()
          Returns a measure of the amount of vital memory allocated for this storage engine.
 void invalidateCache()
          Invalidate any local key/value caches.
 T read(int encoding)
          Converts the supplied encoded value into its correct object form.
 boolean shrink()
           
 Integer write(T object, int hash)
          Converts the supplied value object into it's encoded form.
 

Method Detail

write

Integer write(T object,
              int hash)
Converts the supplied value object into it's encoded form.

Parameters:
object - a value object
hash - the keys hash
Returns:
encoded value

free

void free(int encoding)
Called 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.

Parameters:
encoding - encoded value

read

T read(int encoding)
Converts the supplied encoded value into its correct object form.

Parameters:
encoding - encoded value
Returns:
a decoded value object

equals

boolean equals(Object object,
               int encoding)
Called 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.

Parameters:
object - a value object
encoding - encoded value
Returns:
true if the value and the encoding are equal

clear

void clear()
Called to indicate that all keys and values are now free.


getAllocatedMemory

long getAllocatedMemory()
Returns a measure of the amount of memory allocated for this storage engine.

Returns:
memory allocated for this engine in bytes

getOccupiedMemory

long getOccupiedMemory()
Returns a measure of the amount of memory consumed by this storage engine.

Returns:
memory occupied by this engine in bytes

getVitalMemory

long getVitalMemory()
Returns a measure of the amount of vital memory allocated for this storage engine.

Returns:
vital memory allocated for this engine in bytes

getDataSize

long getDataSize()
Returns a measure of the total size of the keys and values stored in this storage engine.

Returns:
size of the stored keys and values in bytes

invalidateCache

void invalidateCache()
Invalidate 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).


bind

void bind(StorageEngine.Owner owner,
          long mask)

destroy

void destroy()

shrink

boolean shrink()


Copyright © 2016. All rights reserved.