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

Method sendRequestVote

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Raft.java:741–763  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

739 }
740
741 private void sendRequestVote() throws RocksDBException {
742 requestVotes.clear(); // 每次选举开始清除。
743 // LogSequence.SetVoteFor(Name); // 先收集结果,达到 RaftConfig.HalfCount 才判断是否给自己投票。
744 logSequence.trySetTerm(logSequence.getTerm() + 1);
745
746 var arg = new BRequestVoteArgument();
747 arg.setTerm(logSequence.getTerm());
748 arg.setCandidateId(getName());
749 var log = logSequence.lastRaftLogTermIndex();
750 arg.setLastLogIndex(log.getIndex());
751 arg.setLastLogTerm(log.getTerm());
752 arg.setNodeReady(logSequence.getNodeReady());
753
754 nextVoteTime = System.currentTimeMillis() + raftConfig.getElectionTimeout();
755 server.getConfig().forEachConnector(c -> {
756 var rpc = new RequestVote();
757 rpc.Argument = arg;
758 requestVotes.add(rpc);
759 var sendResult = rpc.Send(c.TryGetReadySocket(),
760 p -> processRequestVoteResult(rpc, c), raftConfig.getAppendEntriesTimeout() - 100);
761 logger.info("{}:{}: SendRequestVote {}", getName(), sendResult, rpc);
762 });
763 }
764
765 private void convertStateFromFollowerTo(RaftState newState) throws RocksDBException {
766 switch (newState) {

Callers 2

Calls 15

setTermMethod · 0.95
setCandidateIdMethod · 0.95
getNameMethod · 0.95
setLastLogIndexMethod · 0.95
setLastLogTermMethod · 0.95
setNodeReadyMethod · 0.95
trySetTermMethod · 0.80
lastRaftLogTermIndexMethod · 0.80
forEachConnectorMethod · 0.80
clearMethod · 0.65
addMethod · 0.65

Tested by

no test coverage detected