Interface ElectionTerm
- All Known Implementing Classes:
ImmutableElectionTerm
public interface ElectionTerm
ElectionTerm contains information about a RaftActors election term. This information includes the last known current
term of the RaftActor and which candidate was voted for by the RaftActor in that term.
This class ensures that election term information is persisted.
-
Method Summary
Modifier and TypeMethodDescriptionlong
Returns the current leader's Raft term.@Nullable String
Returns the id of the candidate that this server voted for in current term.void
This method updates the in-memory election term state.void
updateAndPersist
(long term, @Nullable String votedFor) This method updates the in-memory election term state and persists it so it can be recovered on next restart.
-
Method Details
-
getCurrentTerm
long getCurrentTerm()Returns the current leader's Raft term.- Returns:
- the current leader's Raft term.
-
getVotedFor
@Nullable String getVotedFor()Returns the id of the candidate that this server voted for in current term.- Returns:
- candidate id that received the vote or null if no candidate was voted for.
-
update
This method updates the in-memory election term state. This method should be called when recovering election state from persistent storage.- Parameters:
term
- the election term.votedFor
- the candidate id that was voted for.
-
updateAndPersist
This method updates the in-memory election term state and persists it so it can be recovered on next restart. This method should be called when starting a new election or when a Raft RPC message is received with a higher term.- Parameters:
term
- the election term.votedFor
- the candidate id that was voted for.
-