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

Method OnHandshakeDone

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Server.java:301–320  ·  view source on GitHub ↗
(AsyncSocket so)

Source from the content-addressed store, hash-verified

299 }
300
301 @Override
302 public void OnHandshakeDone(AsyncSocket so) throws Exception {
303 super.OnHandshakeDone(so);
304
305 // 没有判断是否和其他Raft-Node的连接。
306 Task.executeUnsafe(() -> {
307 raft.lock();
308 try {
309 if (raft.isReadyLeader()) {
310 var r = new LeaderIs();
311 r.Argument.setTerm(raft.getLogSequence().getTerm());
312 r.Argument.setLeaderId(raft.getLeaderId());
313 r.Argument.setLeader(raft.isLeader());
314 r.Send(so);
315 }
316 } finally {
317 raft.unlock();
318 }
319 }, "Raft.LeaderIs.Me", DispatchMode.Normal);
320 }
321}

Callers

nothing calls this directly

Calls 12

executeUnsafeMethod · 0.95
isReadyLeaderMethod · 0.80
getLogSequenceMethod · 0.80
lockMethod · 0.65
unlockMethod · 0.65
setTermMethod · 0.45
getTermMethod · 0.45
setLeaderIdMethod · 0.45
getLeaderIdMethod · 0.45
setLeaderMethod · 0.45
isLeaderMethod · 0.45
SendMethod · 0.45

Tested by

no test coverage detected