Unverified Commit 93d98df1 authored by Ozan Tezcan's avatar Ozan Tezcan Committed by GitHub
Browse files

Pass user data to raft_send_timeoutnow_f() callback (#114)

parent ed19a54d
...@@ -598,6 +598,7 @@ typedef void ( ...@@ -598,6 +598,7 @@ typedef void (
/** Callback for sending TimeoutNow RPC messages /** Callback for sending TimeoutNow RPC messages
* @param[in] raft The Raft server making this callback * @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 that we are sending this message to * @param[in] node The node that we are sending this message to
* @return 0 on success * @return 0 on success
*/ */
...@@ -605,6 +606,7 @@ typedef int ( ...@@ -605,6 +606,7 @@ typedef int (
*raft_send_timeoutnow_f *raft_send_timeoutnow_f
) ( ) (
raft_server_t* raft, raft_server_t* raft,
void *user_data,
raft_node_t* node raft_node_t* node
); );
......
...@@ -716,7 +716,7 @@ int raft_recv_appendentries_response(raft_server_t* me, ...@@ -716,7 +716,7 @@ int raft_recv_appendentries_response(raft_server_t* me,
if (me->cb.send_timeoutnow && raft_get_transfer_leader(me) == raft_node_get_id(node) && !me->sent_timeout_now if (me->cb.send_timeoutnow && raft_get_transfer_leader(me) == raft_node_get_id(node) && !me->sent_timeout_now
&& raft_get_current_idx(me) == r->current_idx) { && raft_get_current_idx(me) == r->current_idx) {
me->cb.send_timeoutnow(me, node); me->cb.send_timeoutnow(me, me->udata, node);
me->sent_timeout_now = 1; me->sent_timeout_now = 1;
} }
...@@ -2032,7 +2032,7 @@ int raft_transfer_leader(raft_server_t* me, raft_node_id_t node_id, long timeout ...@@ -2032,7 +2032,7 @@ int raft_transfer_leader(raft_server_t* me, raft_node_id_t node_id, long timeout
if (me->cb.send_timeoutnow && if (me->cb.send_timeoutnow &&
raft_get_current_idx(me) == raft_node_get_match_idx(target)) { raft_get_current_idx(me) == raft_node_get_match_idx(target)) {
me->cb.send_timeoutnow(me, target); me->cb.send_timeoutnow(me, me->udata, target);
me->sent_timeout_now = 1; me->sent_timeout_now = 1;
} }
......
...@@ -4106,7 +4106,7 @@ void TestRaft_quorum_msg_id_correctness(CuTest * tc) ...@@ -4106,7 +4106,7 @@ void TestRaft_quorum_msg_id_correctness(CuTest * tc)
int timeoutnow_sent = 0; int timeoutnow_sent = 0;
int __fake_timeoutnow(raft_server_t* raft, raft_node_t* node) int __fake_timeoutnow(raft_server_t* raft, void *udata, raft_node_t* node)
{ {
timeoutnow_sent = 1; timeoutnow_sent = 1;
......
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