()
| 578 | } |
| 579 | |
| 580 | public boolean isReadyLeader() { |
| 581 | lock(); |
| 582 | try { |
| 583 | var volatileTmp = leaderReadyFuture; // 每次只等待一轮的选举,不考虑中间Leader发生变化。 |
| 584 | return isLeader() && volatileTmp.isDone() && volatileTmp.get(); |
| 585 | } finally { |
| 586 | unlock(); |
| 587 | } |
| 588 | } |
| 589 | |
| 590 | void resetLeaderReadyAfterChangeState() { |
| 591 | leaderReadyFuture.setResult(false); |