Commit 99760172 authored by Willem Thiart's avatar Willem Thiart
Browse files

Add raft_recv_voting_cfg_change_entry

parent a5f3ab69
......@@ -169,6 +169,7 @@ typedef int (
);
/** Callback for detecting when non-voting nodes have obtained enough logs.
* This triggers only when there are no pending configuration changes.
* @param[in] raft The Raft server making this callback
* @param[in] user_data User data that is passed from Raft server
* @param[in] node The node */
......
......@@ -731,3 +731,22 @@ void raft_apply_all(raft_server_t* me_)
while (raft_get_last_applied_idx(me_) < raft_get_commit_idx(me_))
raft_apply_entry(me_);
}
int raft_recv_voting_cfg_change_entry(raft_server_t* me_,
raft_node_t* node,
msg_entry_t* e,
msg_entry_response_t *r)
{
raft_server_private_t* me = (raft_server_private_t*)me_;
if (me->node_with_voting_cfg_change)
return -1;
int e = raft_recv_entry(me_, e, r);
if (e < 0)
return -1;
me->node_with_voting_cfg_change = node;
return 0;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment