public abstract class DefaultRecoverable extends java.lang.Object implements Recoverable, BatchExecutable
Constructor and Description |
---|
DefaultRecoverable() |
Modifier and Type | Method and Description |
---|---|
abstract byte[][] |
appExecuteBatch(byte[][] commands,
MessageContext[] msgCtxs) |
byte[] |
computeHash(byte[] data) |
byte[][] |
executeBatch(byte[][] commands,
MessageContext[] msgCtxs)
Execute a batch of requests.
|
abstract byte[] |
getSnapshot() |
ApplicationState |
getState(int eid,
boolean sendState)
This method should return a representation of the application state
|
StateManager |
getStateManager()
Recoverers implementing this interface will have to chose among
different options of state managers like DurableStateManager or
StandardStateManager.
|
abstract void |
installSnapshot(byte[] state) |
void |
noOp(int lastEid) |
void |
saveCommands(byte[][] commands,
int[] eids)
Write commands to log file
|
void |
setReplicaContext(ReplicaContext replicaContext) |
int |
setState(ApplicationState recvState)
Sets the state to the representation obtained in the state transfer protocol
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
executeUnordered
public byte[][] executeBatch(byte[][] commands, MessageContext[] msgCtxs)
BatchExecutable
executeBatch
in interface BatchExecutable
public final byte[] computeHash(byte[] data)
public void saveCommands(byte[][] commands, int[] eids)
commands
- array of commands. Each command is an array of bytesmsgCtx
- public ApplicationState getState(int eid, boolean sendState)
Recoverable
getState
in interface Recoverable
eid
- Execution up to which the application should return an Application statesendState
- true if the replica should send a complete
representation of the state instead of only the hash. False otherwisepublic int setState(ApplicationState recvState)
Recoverable
setState
in interface Recoverable
recvState
- State obtained in the state transfer protocolpublic void setReplicaContext(ReplicaContext replicaContext)
setReplicaContext
in interface Recoverable
public StateManager getStateManager()
Recoverable
getStateManager
in interface Recoverable
public void noOp(int lastEid)
noOp
in interface Recoverable
public abstract void installSnapshot(byte[] state)
public abstract byte[] getSnapshot()
public abstract byte[][] appExecuteBatch(byte[][] commands, MessageContext[] msgCtxs)