Class DurableConsensusLogStore
java.lang.Object
org.j7m.middleware.consensus.DurableConsensusLogStore
- All Implemented Interfaces:
AutoCloseable
Durable per-node consensus state store backed by the J7M durable log.
-
Constructor Summary
ConstructorsConstructorDescriptionDurableConsensusLogStore(org.j7m.middleware.api.consensus.ConsensusNodeId nodeId, Path directory) Opens a store. -
Method Summary
Modifier and TypeMethodDescriptionvoidappendEntry(org.j7m.middleware.api.consensus.ConsensusLogEntry entry) Persists one log entry.voidclose()org.j7m.middleware.consensus.NodePersistentStateload()Loads state.org.j7m.middleware.api.consensus.ConsensusRecoveryReportreport(org.j7m.middleware.consensus.NodePersistentState state) Returns a safe recovery report for loaded state.voidsaveCommitIndex(org.j7m.middleware.api.consensus.CommitIndex commitIndex) Persists commit index.voidsaveTerm(org.j7m.middleware.api.consensus.ConsensusTerm term, org.j7m.middleware.api.consensus.ConsensusNodeId votedFor) Persists term and vote.voidsaveVote(org.j7m.middleware.api.consensus.ConsensusNodeId votedFor) Persists vote.
-
Constructor Details
-
DurableConsensusLogStore
public DurableConsensusLogStore(org.j7m.middleware.api.consensus.ConsensusNodeId nodeId, Path directory) Opens a store.- Parameters:
nodeId- node iddirectory- durable directory
-
-
Method Details
-
load
public org.j7m.middleware.consensus.NodePersistentState load()Loads state.- Returns:
- recovered state
-
saveTerm
public void saveTerm(org.j7m.middleware.api.consensus.ConsensusTerm term, org.j7m.middleware.api.consensus.ConsensusNodeId votedFor) Persists term and vote.- Parameters:
term- current termvotedFor- voted-for node
-
saveVote
public void saveVote(org.j7m.middleware.api.consensus.ConsensusNodeId votedFor) Persists vote.- Parameters:
votedFor- voted-for node
-
appendEntry
public void appendEntry(org.j7m.middleware.api.consensus.ConsensusLogEntry entry) Persists one log entry.- Parameters:
entry- log entry
-
saveCommitIndex
public void saveCommitIndex(org.j7m.middleware.api.consensus.CommitIndex commitIndex) Persists commit index.- Parameters:
commitIndex- commit index
-
report
public org.j7m.middleware.api.consensus.ConsensusRecoveryReport report(org.j7m.middleware.consensus.NodePersistentState state) Returns a safe recovery report for loaded state.- Parameters:
state- state- Returns:
- report
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-