|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.terracotta.offheapstore.storage.SplitStorageEngine<K,V>
K - key type handled by this engineV - value type handled by this enginepublic class SplitStorageEngine<K,V>
A StorageEngine composed of two independent engines, one for the
keys, one for the values.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.terracotta.offheapstore.storage.StorageEngine |
|---|
StorageEngine.Owner |
| Field Summary | |
|---|---|
protected HalfStorageEngine<? super K> |
keyStorageEngine
|
protected HalfStorageEngine<? super V> |
valueStorageEngine
|
| Constructor Summary | |
|---|---|
SplitStorageEngine(HalfStorageEngine<? super K> keyStorageEngine,
HalfStorageEngine<? super V> valueStorageEngine)
Creates a composite storage engine, with independent key and value engines. |
|
| Method Summary | ||
|---|---|---|
void |
attachedMapping(long encoding,
int hash,
int metadata)
|
|
void |
bind(StorageEngine.Owner owner)
|
|
void |
clear()
Called to indicate that all keys and values are now free. |
|
static
|
createFactory(Factory<? extends HalfStorageEngine<K>> keyFactory,
Factory<? extends HalfStorageEngine<V>> valueFactory)
|
|
void |
destroy()
|
|
static long |
encoding(int keyEncoding,
int valueEncoding)
|
|
boolean |
equalsKey(Object key,
long encoding)
Called to determine the equality of the given object against the given encoded form. |
|
boolean |
equalsValue(Object value,
long encoding)
Called to determine the equality of the given Java object value against the given encoded form. |
|
void |
freeMapping(long encoding,
int hash,
boolean removal)
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. |
|
static int |
keyEncoding(long encoding)
|
|
K |
readKey(long encoding,
int hashCode)
Converts the supplied encoded key into its correct object form. |
|
V |
readValue(long encoding)
Converts the supplied encoded value into its correct object form. |
|
boolean |
shrink()
|
|
String |
toString()
|
|
static int |
valueEncoding(long encoding)
|
|
Long |
writeMapping(K key,
V value,
int hash,
int metadata)
Converts the supplied value object into it's encoded form. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final HalfStorageEngine<? super K> keyStorageEngine
protected final HalfStorageEngine<? super V> valueStorageEngine
| Constructor Detail |
|---|
public SplitStorageEngine(HalfStorageEngine<? super K> keyStorageEngine,
HalfStorageEngine<? super V> valueStorageEngine)
keyStorageEngine - storage engine for the keysvalueStorageEngine - storage engine for the values| Method Detail |
|---|
public static <K,V> Factory<SplitStorageEngine<K,V>> createFactory(Factory<? extends HalfStorageEngine<K>> keyFactory,
Factory<? extends HalfStorageEngine<V>> valueFactory)
public Long writeMapping(K key,
V value,
int hash,
int metadata)
StorageEngine
writeMapping in interface StorageEngine<K,V>value - a value object
public void attachedMapping(long encoding,
int hash,
int metadata)
attachedMapping in interface StorageEngine<K,V>
public void freeMapping(long encoding,
int hash,
boolean removal)
StorageEngineThis call can be used to free any associated resources tied to the lifecycle of the supplied encoded value.
freeMapping in interface StorageEngine<K,V>encoding - encoded valuehash - hash of the freed mappingremoval - marks removal from a mappublic V readValue(long encoding)
StorageEngine
readValue in interface StorageEngine<K,V>encoding - encoded value
public boolean equalsValue(Object value,
long encoding)
StorageEngine
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.
equalsValue in interface StorageEngine<K,V>value - a value objectencoding - encoded value
true if the value and the encoding are equal
public K readKey(long encoding,
int hashCode)
StorageEngine
readKey in interface StorageEngine<K,V>encoding - encoded keyhashCode - hash-code of the decoded key
public boolean equalsKey(Object key,
long encoding)
StorageEngine
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.
equalsKey in interface StorageEngine<K,V>key - a key objectencoding - encoded value
true if the key and the encoding are equalpublic void clear()
StorageEngine
clear in interface StorageEngine<K,V>public long getAllocatedMemory()
StorageEngine
getAllocatedMemory in interface StorageEngine<K,V>public long getOccupiedMemory()
StorageEngine
getOccupiedMemory in interface StorageEngine<K,V>public long getVitalMemory()
StorageEngine
getVitalMemory in interface StorageEngine<K,V>public long getDataSize()
StorageEngine
getDataSize in interface StorageEngine<K,V>public String toString()
toString in class Objectpublic void invalidateCache()
StorageEngineThis 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).
invalidateCache in interface StorageEngine<K,V>public void bind(StorageEngine.Owner owner)
bind in interface StorageEngine<K,V>public void destroy()
destroy in interface StorageEngine<K,V>public boolean shrink()
shrink in interface StorageEngine<K,V>public static int valueEncoding(long encoding)
public static int keyEncoding(long encoding)
public static long encoding(int keyEncoding,
int valueEncoding)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||