Class StandardStateManager
- java.lang.Object
-
- bftsmart.statemanagement.StateManager
-
- bftsmart.statemanagement.standard.StandardStateManager
-
public class StandardStateManager extends StateManager
-
-
Field Summary
-
Fields inherited from class bftsmart.statemanagement.StateManager
appStateOnly, dt, execManager, isInitializing, lastCID, queries, queryID, senderLeaders, senderProofs, senderRegencies, senderStates, senderViews, state, SVController, tomLayer, waitingCID
-
-
Constructor Summary
Constructors Constructor Description StandardStateManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
init(TOMLayer tomLayer, DeliveryThread dt)
protected void
requestState()
Request the state to the other replicas.void
SMReplyDeliver(SMMessage msg, boolean isBFT)
Invoked when a replica receives a reply to its request to be sent the application state.void
SMRequestDeliver(SMMessage msg, boolean isBFT)
Invoked when a replica is asking to be sent the application state.void
stateTimeout()
To use if the state manager needs to use timeout for liveness and when such timeout expires.-
Methods inherited from class bftsmart.statemanagement.StateManager
analyzeState, askCurrentConsensusId, currentConsensusIdAsked, currentConsensusIdReceived, enoughLeaders, enoughProofs, enoughRegencies, enoughReplies, enoughViews, getLastCID, getReplies, isRetrievingState, receivedStates, requestAppState, reset, setLastCID, triggerTimeout
-
-
-
-
Method Detail
-
init
public void init(TOMLayer tomLayer, DeliveryThread dt)
- Overrides:
init
in classStateManager
-
requestState
protected void requestState()
Description copied from class:StateManager
Request the state to the other replicas. It should ask for the state defined in the 'waitingCID' variable.- Specified by:
requestState
in classStateManager
-
stateTimeout
public void stateTimeout()
Description copied from class:StateManager
To use if the state manager needs to use timeout for liveness and when such timeout expires. To trigger the invocation, the method 'triggerTimeout' should be invoked by the class extending StateManager supplying an SMMessage of type 'TRIGGER_SM_LOCALLY'- Specified by:
stateTimeout
in classStateManager
-
SMRequestDeliver
public void SMRequestDeliver(SMMessage msg, boolean isBFT)
Description copied from class:StateManager
Invoked when a replica is asking to be sent the application state.- Specified by:
SMRequestDeliver
in classStateManager
- Parameters:
msg
- The message sent by the replica, of type 'SM_REQUEST'.isBFT
- true if the library is set for BFT, false if CFT
-
SMReplyDeliver
public void SMReplyDeliver(SMMessage msg, boolean isBFT)
Description copied from class:StateManager
Invoked when a replica receives a reply to its request to be sent the application state.- Specified by:
SMReplyDeliver
in classStateManager
- Parameters:
msg
- The message sent by the replica, of type 'SM_REPLY'.isBFT
- true if the library is set for BFT, false if CFT
-
-