Package io.atomix.raft.roles
Class AbstractRole
java.lang.Object
io.atomix.raft.roles.AbstractRole
- All Implemented Interfaces:
RaftRole,Managed<RaftRole>,AutoCloseable
- Direct Known Subclasses:
InactiveRole
Abstract state.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <T extends RaftRequest,U extends RaftResponse>
CompletableFuture<U> forward(T request, BiFunction<MemberId, T, CompletableFuture<U>> function) Forwards the given request to the leader if possible.booleanprotected final voidlogRequest(Object request) Logs a request.protected final <R extends RaftResponse>
RlogResponse(R response) Logs a response.shouldAcceptRequest(RaftRequest request) start()stop()toString()protected booleanupdateTermAndLeader(long term, MemberId leader) Updates the term and leader.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.atomix.raft.roles.RaftRole
onAppend, onConfigure, onForceConfigure, onInstall, onJoin, onLeave, onPoll, onReconfigure, onTransfer, onVote, role
-
Field Details
-
log
protected final org.slf4j.Logger log -
raft
-
-
Constructor Details
-
AbstractRole
-
-
Method Details
-
shouldAcceptRequest
- Specified by:
shouldAcceptRequestin interfaceRaftRole
-
logRequest
Logs a request. -
logResponse
Logs a response. -
start
-
isRunning
public boolean isRunning() -
stop
-
forward
protected <T extends RaftRequest,U extends RaftResponse> CompletableFuture<U> forward(T request, BiFunction<MemberId, T, CompletableFuture<U>> function) Forwards the given request to the leader if possible. -
updateTermAndLeader
Updates the term and leader. -
toString
-