Package io.atomix.raft.roles
Class PassiveRole
java.lang.Object
io.atomix.raft.roles.AbstractRole
io.atomix.raft.roles.InactiveRole
io.atomix.raft.roles.PassiveRole
- All Implemented Interfaces:
RaftRole,Managed<RaftRole>,AutoCloseable
- Direct Known Subclasses:
ActiveRole,PromotableRole
Passive state.
-
Field Summary
Fields inherited from class io.atomix.raft.roles.AbstractRole
log, raft -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendEntries(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Appends entries from the given AppendRequest.protected booleancheckPreviousEntry(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Checks the previous index of the given AppendRequest, returning a boolean indicating whether to continue handling the request.protected booleancheckTerm(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Checks the leader's term of the given AppendRequest, returning a boolean indicating whether to continue handling the request.protected booleancompleteAppend(boolean succeeded, long lastLogIndex, CompletableFuture<AppendResponse> future) Returns a successful append response.protected booleanfailAppend(long lastLogIndex, CompletableFuture<AppendResponse> future) Returns a failed append response.protected CompletableFuture<AppendResponse> handleAppend(InternalAppendRequest request) Handles an AppendRequest.onAppend(InternalAppendRequest request) Handles an append request.onForceConfigure(ForceConfigureRequest request) Handles a force configure request.onInstall(InstallRequest request) Handles an install request.onJoin(JoinRequest request) Handles a request to join the cluster.onLeave(LeaveRequest request) Handles a request to leave the cluster.onPoll(PollRequest request) Handles a poll request.onReconfigure(ReconfigureRequest request) Handles a configure request.onVote(VoteRequest request) Handles a vote request.role()Returns the server state type.start()stop()protected booleansucceedAppend(long lastLogIndex, CompletableFuture<AppendResponse> future) Returns a successful append response.Methods inherited from class io.atomix.raft.roles.InactiveRole
onConfigure, onTransferMethods inherited from class io.atomix.raft.roles.AbstractRole
forward, isRunning, logRequest, logResponse, shouldAcceptRequest, toString, updateTermAndLeader
-
Constructor Details
-
PassiveRole
-
-
Method Details
-
start
- Specified by:
startin interfaceManaged<RaftRole>- Overrides:
startin classAbstractRole
-
stop
- Specified by:
stopin interfaceManaged<RaftRole>- Overrides:
stopin classAbstractRole
-
role
Description copied from interface:RaftRoleReturns the server state type.- Specified by:
rolein interfaceRaftRole- Overrides:
rolein classInactiveRole- Returns:
- The server state type.
-
onInstall
Description copied from interface:RaftRoleHandles an install request.- Specified by:
onInstallin interfaceRaftRole- Overrides:
onInstallin classInactiveRole- Parameters:
request- The request to handle.- Returns:
- A completable future to be completed with the request response.
-
onReconfigure
Description copied from interface:RaftRoleHandles a configure request.- Specified by:
onReconfigurein interfaceRaftRole- Overrides:
onReconfigurein classInactiveRole- Parameters:
request- The request to handle.- Returns:
- A completable future to be completed with the request response.
-
onForceConfigure
Description copied from interface:RaftRoleHandles a force configure request. The request is never received from a leader. This is typically requested to remove a set of (unavailable) members when a quorum is not possible.- Specified by:
onForceConfigurein interfaceRaftRole- Overrides:
onForceConfigurein classInactiveRole
-
onJoin
Description copied from interface:RaftRoleHandles a request to join the cluster.- Specified by:
onJoinin interfaceRaftRole- Overrides:
onJoinin classInactiveRole
-
onLeave
Description copied from interface:RaftRoleHandles a request to leave the cluster.- Specified by:
onLeavein interfaceRaftRole- Overrides:
onLeavein classInactiveRole
-
onAppend
Description copied from interface:RaftRoleHandles an append request.- Specified by:
onAppendin interfaceRaftRole- Overrides:
onAppendin classInactiveRole- Parameters:
request- The request to handle.- Returns:
- A completable future to be completed with the request response.
-
onPoll
Description copied from interface:RaftRoleHandles a poll request.- Specified by:
onPollin interfaceRaftRole- Overrides:
onPollin classInactiveRole- Parameters:
request- The request to handle.- Returns:
- A completable future to be completed with the request response.
-
onVote
Description copied from interface:RaftRoleHandles a vote request.- Specified by:
onVotein interfaceRaftRole- Overrides:
onVotein classInactiveRole- Parameters:
request- The request to handle.- Returns:
- A completable future to be completed with the request response.
-
handleAppend
Handles an AppendRequest. -
checkTerm
protected boolean checkTerm(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Checks the leader's term of the given AppendRequest, returning a boolean indicating whether to continue handling the request. -
checkPreviousEntry
protected boolean checkPreviousEntry(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Checks the previous index of the given AppendRequest, returning a boolean indicating whether to continue handling the request. -
appendEntries
protected void appendEntries(InternalAppendRequest request, CompletableFuture<AppendResponse> future) Appends entries from the given AppendRequest. -
failAppend
Returns a failed append response.- Parameters:
lastLogIndex- the last log indexfuture- the append response future- Returns:
- the append response status
-
succeedAppend
Returns a successful append response.- Parameters:
lastLogIndex- the last log indexfuture- the append response future- Returns:
- the append response status
-
completeAppend
protected boolean completeAppend(boolean succeeded, long lastLogIndex, CompletableFuture<AppendResponse> future) Returns a successful append response.- Parameters:
succeeded- whether the append succeededlastLogIndex- the last log indexfuture- the append response future- Returns:
- the append response status
-