Class HashIndex
java.lang.Object
org.nustaq.reallive.server.storage.HashIndex
- All Implemented Interfaces:
StorageIndex
public class HashIndex extends java.lang.Object implements StorageIndex
acts as a passive listener to maintain state
Consider: null indexHashValues need not to be tracked as a separate bucket, => fallback to full scan then ?
-
Constructor Summary
Constructors Constructor Description HashIndex(RLFunction<Record,java.lang.Object> hashGetter, java.lang.String hashPath) -
Method Summary
Modifier and Type Method Description <T> voidforEachWithSpore(java.lang.Object hashValue, org.nustaq.kontraktor.Spore<Record,T> spore, RecordStorage store)RLFunction<Record,java.lang.Object>getHashGetter()java.lang.StringgetHashPath()java.util.Map<java.lang.Object,java.util.Set<java.lang.String>>getIndex()java.util.Map<java.lang.String,java.lang.Object>getKey2HashVal()java.util.stream.Stream<java.lang.String>getKeys(java.lang.Object key)java.util.Set<java.lang.String>getKeySet(java.lang.Object key)static voidmain(java.lang.String[] args)voidput(java.lang.String key, Record value)voidremove(java.lang.String key)static java.lang.ObjectunifyKey(java.lang.Object key)
-
Constructor Details
-
Method Details
-
getHashPath
public java.lang.String getHashPath() -
getHashGetter
-
getIndex
public java.util.Map<java.lang.Object,java.util.Set<java.lang.String>> getIndex() -
getKey2HashVal
public java.util.Map<java.lang.String,java.lang.Object> getKey2HashVal() -
put
- Specified by:
putin interfaceStorageIndex
-
unifyKey
public static java.lang.Object unifyKey(java.lang.Object key) -
remove
public void remove(java.lang.String key)- Specified by:
removein interfaceStorageIndex
-
forEachWithSpore
public <T> void forEachWithSpore(java.lang.Object hashValue, org.nustaq.kontraktor.Spore<Record,T> spore, RecordStorage store)- Specified by:
forEachWithSporein interfaceStorageIndex
-
main
public static void main(java.lang.String[] args) -
getKeys
public java.util.stream.Stream<java.lang.String> getKeys(java.lang.Object key) -
getKeySet
public java.util.Set<java.lang.String> getKeySet(java.lang.Object key)
-