MCPcopy Create free account
hub / github.com/e2wugui/zeze / processGetLeader

Method processGetLeader

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Raft.java:872–887  ·  view source on GitHub ↗
(GetLeader r)

Source from the content-addressed store, hash-verified

870 }
871
872 private long processGetLeader(GetLeader r) {
873 // see Server::trySendLeaderIs
874 String leaderId = getLeaderId();
875 if (leaderId == null || leaderId.isEmpty())
876 return Procedure.Unknown;
877
878 if (getName().equals(leaderId) && !isLeader())
879 return Procedure.Unknown;
880
881 // redirect
882 r.Result.setTerm(getLogSequence().getTerm());
883 r.Result.setLeaderId(leaderId); // maybe empty
884 r.Result.setLeader(isLeader());
885 r.trySendResultCode(Procedure.Success);
886 return 0;
887 }
888
889 private long processStartServer(StartServerConnector r) {
890 server.getConfig().forEachConnector(Connector::stop);

Callers

nothing calls this directly

Calls 11

getLeaderIdMethod · 0.95
getNameMethod · 0.95
isLeaderMethod · 0.95
getLogSequenceMethod · 0.95
isEmptyMethod · 0.65
equalsMethod · 0.65
setTermMethod · 0.45
getTermMethod · 0.45
setLeaderIdMethod · 0.45
setLeaderMethod · 0.45
trySendResultCodeMethod · 0.45

Tested by

no test coverage detected