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

Method waitLeaderReady

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Raft.java:565–578  ·  view source on GitHub ↗

true,IsLeader && LeaderReady; false, !IsLeader

()

Source from the content-addressed store, hash-verified

563 * false, !IsLeader
564 */
565 boolean waitLeaderReady() {
566 lock();
567 try {
568 var volatileTmp = leaderReadyFuture; // 每次只等待一轮的选举,不考虑中间Leader发生变化。
569 while (isLeader()) {
570 if (volatileTmp.isDone())
571 return volatileTmp.get();
572 await();
573 }
574 } finally {
575 unlock();
576 }
577 return false;
578 }
579
580 public boolean isReadyLeader() {
581 lock();

Callers 1

processRequestMethod · 0.80

Calls 6

lockMethod · 0.95
isLeaderMethod · 0.95
awaitMethod · 0.95
unlockMethod · 0.95
getMethod · 0.65
isDoneMethod · 0.45

Tested by

no test coverage detected