refactor: votesRespondUpdate
This commit is contained in:
parent
94438de0ec
commit
cb20717ce6
|
@ -42,6 +42,7 @@ typedef struct SVotesGranted {
|
||||||
|
|
||||||
SVotesGranted *voteGrantedCreate(SSyncNode *pSyncNode);
|
SVotesGranted *voteGrantedCreate(SSyncNode *pSyncNode);
|
||||||
void voteGrantedDestroy(SVotesGranted *pVotesGranted);
|
void voteGrantedDestroy(SVotesGranted *pVotesGranted);
|
||||||
|
void voteGrantedUpdate(SVotesGranted *pVotesGranted, SSyncNode *pSyncNode);
|
||||||
bool voteGrantedMajority(SVotesGranted *pVotesGranted);
|
bool voteGrantedMajority(SVotesGranted *pVotesGranted);
|
||||||
void voteGrantedVote(SVotesGranted *pVotesGranted, SyncRequestVoteReply *pMsg);
|
void voteGrantedVote(SVotesGranted *pVotesGranted, SyncRequestVoteReply *pMsg);
|
||||||
void voteGrantedReset(SVotesGranted *pVotesGranted, SyncTerm term);
|
void voteGrantedReset(SVotesGranted *pVotesGranted, SyncTerm term);
|
||||||
|
@ -65,6 +66,7 @@ typedef struct SVotesRespond {
|
||||||
|
|
||||||
SVotesRespond *votesRespondCreate(SSyncNode *pSyncNode);
|
SVotesRespond *votesRespondCreate(SSyncNode *pSyncNode);
|
||||||
void votesRespondDestory(SVotesRespond *pVotesRespond);
|
void votesRespondDestory(SVotesRespond *pVotesRespond);
|
||||||
|
void votesRespondUpdate(SVotesRespond *pVotesRespond, SSyncNode *pSyncNode);
|
||||||
bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId);
|
bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId);
|
||||||
void votesRespondAdd(SVotesRespond *pVotesRespond, const SyncRequestVoteReply *pMsg);
|
void votesRespondAdd(SVotesRespond *pVotesRespond, const SyncRequestVoteReply *pMsg);
|
||||||
void votesRespondReset(SVotesRespond *pVotesRespond, SyncTerm term);
|
void votesRespondReset(SVotesRespond *pVotesRespond, SyncTerm term);
|
||||||
|
|
|
@ -960,6 +960,8 @@ void syncNodeUpdateConfig(SSyncNode* pSyncNode, SSyncCfg* newConfig) {
|
||||||
|
|
||||||
syncIndexMgrUpdate(pSyncNode->pNextIndex, pSyncNode);
|
syncIndexMgrUpdate(pSyncNode->pNextIndex, pSyncNode);
|
||||||
syncIndexMgrUpdate(pSyncNode->pMatchIndex, pSyncNode);
|
syncIndexMgrUpdate(pSyncNode->pMatchIndex, pSyncNode);
|
||||||
|
voteGrantedUpdate(pSyncNode->pVotesGranted, pSyncNode);
|
||||||
|
votesRespondUpdate(pSyncNode->pVotesRespond, pSyncNode);
|
||||||
|
|
||||||
syncNodeLog2("==syncNodeUpdateConfig==", pSyncNode);
|
syncNodeLog2("==syncNodeUpdateConfig==", pSyncNode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,17 @@ void voteGrantedDestroy(SVotesGranted *pVotesGranted) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void voteGrantedUpdate(SVotesGranted *pVotesGranted, SSyncNode *pSyncNode) {
|
||||||
|
pVotesGranted->replicas = &(pSyncNode->replicasId);
|
||||||
|
pVotesGranted->replicaNum = pSyncNode->replicaNum;
|
||||||
|
voteGrantedClearVotes(pVotesGranted);
|
||||||
|
|
||||||
|
pVotesGranted->term = 0;
|
||||||
|
pVotesGranted->quorum = pSyncNode->quorum;
|
||||||
|
pVotesGranted->toLeader = false;
|
||||||
|
pVotesGranted->pSyncNode = pSyncNode;
|
||||||
|
}
|
||||||
|
|
||||||
bool voteGrantedMajority(SVotesGranted *pVotesGranted) {
|
bool voteGrantedMajority(SVotesGranted *pVotesGranted) {
|
||||||
bool ret = pVotesGranted->votes >= pVotesGranted->quorum;
|
bool ret = pVotesGranted->votes >= pVotesGranted->quorum;
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -168,6 +179,13 @@ void votesRespondDestory(SVotesRespond *pVotesRespond) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void votesRespondUpdate(SVotesRespond *pVotesRespond, SSyncNode *pSyncNode) {
|
||||||
|
pVotesRespond->replicas = &(pSyncNode->replicasId);
|
||||||
|
pVotesRespond->replicaNum = pSyncNode->replicaNum;
|
||||||
|
pVotesRespond->term = 0;
|
||||||
|
pVotesRespond->pSyncNode = pSyncNode;
|
||||||
|
}
|
||||||
|
|
||||||
bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId) {
|
bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId) {
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
for (int i = 0; i < pVotesRespond->replicaNum; ++i) {
|
for (int i = 0; i < pVotesRespond->replicaNum; ++i) {
|
||||||
|
|
Loading…
Reference in New Issue