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

Method trySendLeaderIs

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Server.java:287–299  ·  view source on GitHub ↗
(AsyncSocket sender)

Source from the content-addressed store, hash-verified

285 }
286
287 public void trySendLeaderIs(AsyncSocket sender) {
288 String leaderId = raft.getLeaderId();
289 if (leaderId == null || leaderId.isEmpty())
290 return;
291 if (raft.getName().equals(leaderId) && !raft.isLeader())
292 return;
293 // redirect
294 var redirect = new LeaderIs();
295 redirect.Argument.setTerm(raft.getLogSequence().getTerm());
296 redirect.Argument.setLeaderId(leaderId); // maybe empty
297 redirect.Argument.setLeader(raft.isLeader());
298 ProxyServer.send(this, proxyServer, redirect, raft.getName(), sender);
299 }
300
301 @Override
302 public void OnHandshakeDone(AsyncSocket so) throws Exception {

Callers 3

processRequestMethod · 0.95
dispatchProtocolMethod · 0.95
ProcessProxyRequestMethod · 0.80

Calls 11

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

Tested by

no test coverage detected