Package org.nustaq.reallive.server
Class StorageDriver
java.lang.Object
org.nustaq.reallive.server.StorageDriver
- All Implemented Interfaces:
java.io.Serializable,ChangeReceiver
public class StorageDriver extends java.lang.Object implements ChangeReceiver
Created by moelrue on 03.08.2015.
implements transaction processing on top of a physical storage
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static booleanPROPAGATE_EMPTY_DIFFS -
Constructor Summary
Constructors Constructor Description StorageDriver()StorageDriver(RecordStorage store) -
Method Summary
Modifier and Type Method Description ClusterTableRecordMapping_loadMapping()void_saveMapping(ClusterTableRecordMapping mapping)voidadd(int senderId, java.lang.String key, java.lang.Object... keyVals)voidadd(int senderId, Record rec)voidaddOrUpdate(int senderId, java.lang.String key, java.lang.Object... keyVals)voidaddOrUpdateRec(int senderId, Record rec)org.nustaq.kontraktor.IPromiseatomicQuery(int senderId, java.lang.String key, RLFunction<Record,java.lang.Object> action)apply the function to the record with given key and return the result inside a promise changes to the record inside the function are applied to the real record and a change message is generated.voidatomicUpdate(RLPredicate<Record> filter, RLFunction<Record,java.lang.Boolean> action)ChangeReceivergetListener()RecordStoragegetStore()voidpruneRemoveLog(long maxAge)voidput(int senderId, java.lang.String key, java.lang.Object... keyVals)voidput(int senderId, Record rec)voidqueryRemoveLog(long from, long to, org.nustaq.kontraktor.Callback<RemoveLog.RemoveLogEntry> cb)voidreceive(ChangeMessage change)voidremove(int senderId, java.lang.String key)voidresizeIfLoadFactorLarger(double loadFactor, long maxGrowBytes)StorageDriversetListener(ChangeReceiver listener)StorageDriverstore(RecordStorage store)static Recordunwrap(Record r)voidupdate(int senderId, java.lang.String key, java.lang.Object... keyVals)
-
Field Details
-
PROPAGATE_EMPTY_DIFFS
public static boolean PROPAGATE_EMPTY_DIFFS
-
-
Constructor Details
-
StorageDriver
-
StorageDriver
public StorageDriver()
-
-
Method Details
-
unwrap
-
receive
- Specified by:
receivein interfaceChangeReceiver
-
getStore
-
getListener
-
store
-
setListener
-
resizeIfLoadFactorLarger
public void resizeIfLoadFactorLarger(double loadFactor, long maxGrowBytes) -
put
public void put(int senderId, java.lang.String key, java.lang.Object... keyVals) -
atomicQuery
public org.nustaq.kontraktor.IPromise atomicQuery(int senderId, java.lang.String key, RLFunction<Record,java.lang.Object> action)apply the function to the record with given key and return the result inside a promise changes to the record inside the function are applied to the real record and a change message is generated. In case the function returns a changemessage (add,putRecord,remove ..), the change message is applied to the original record and the change is broadcasted- Parameters:
key-action-- Returns:
- the result of function.
-
atomicUpdate
-
addOrUpdate
public void addOrUpdate(int senderId, java.lang.String key, java.lang.Object... keyVals) -
add
public void add(int senderId, java.lang.String key, java.lang.Object... keyVals) -
add
-
addOrUpdateRec
-
put
-
update
public void update(int senderId, java.lang.String key, java.lang.Object... keyVals) -
remove
public void remove(int senderId, java.lang.String key) -
_saveMapping
-
_loadMapping
-
queryRemoveLog
public void queryRemoveLog(long from, long to, org.nustaq.kontraktor.Callback<RemoveLog.RemoveLogEntry> cb) -
pruneRemoveLog
public void pruneRemoveLog(long maxAge)
-