Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Willemt Raft
Commits
492804fe
Commit
492804fe
authored
Aug 31, 2015
by
Willem Thiart
Browse files
Rename peer to node
parent
3b6fe9d5
Changes
4
Hide whitespace changes
Inline
Side-by-side
include/raft.h
View file @
492804fe
...
@@ -48,7 +48,7 @@ typedef struct
...
@@ -48,7 +48,7 @@ typedef struct
}
msg_entry_response_t
;
}
msg_entry_response_t
;
/** Vote request message.
/** Vote request message.
* Sent to
peer
s when a server wants to become leader.
* Sent to
node
s when a server wants to become leader.
* This message could force a leader/candidate to become a follower. */
* This message could force a leader/candidate to become a follower. */
typedef
struct
typedef
struct
{
{
...
@@ -66,7 +66,7 @@ typedef struct
...
@@ -66,7 +66,7 @@ typedef struct
}
msg_requestvote_t
;
}
msg_requestvote_t
;
/** Vote request response message.
/** Vote request response message.
* Indicates if
peer
has accepted the server's vote request. */
* Indicates if
node
has accepted the server's vote request. */
typedef
struct
typedef
struct
{
{
/** currentTerm, for candidate to update itself */
/** currentTerm, for candidate to update itself */
...
@@ -77,7 +77,7 @@ typedef struct
...
@@ -77,7 +77,7 @@ typedef struct
}
msg_requestvote_response_t
;
}
msg_requestvote_response_t
;
/** Appendentries message.
/** Appendentries message.
* This message is used to tell
peer
s if it's safe to apply entries to the FSM.
* This message is used to tell
node
s if it's safe to apply entries to the FSM.
* Can be sent without any entries as a keep alive message.
* Can be sent without any entries as a keep alive message.
* This message could force a leader/candidate to become a follower. */
* This message could force a leader/candidate to become a follower. */
typedef
struct
typedef
struct
...
@@ -85,11 +85,11 @@ typedef struct
...
@@ -85,11 +85,11 @@ typedef struct
/** currentTerm, to force other leader/candidate to step down */
/** currentTerm, to force other leader/candidate to step down */
int
term
;
int
term
;
/** the index of the log just before the newest entry for the
peer
who
/** the index of the log just before the newest entry for the
node
who
* receives this message */
* receives this message */
int
prev_log_idx
;
int
prev_log_idx
;
/** the term of the log just before the newest entry for the
peer
who
/** the term of the log just before the newest entry for the
node
who
* receives this message */
* receives this message */
int
prev_log_term
;
int
prev_log_term
;
...
@@ -147,7 +147,7 @@ typedef struct
...
@@ -147,7 +147,7 @@ typedef struct
/** Callback for sending request vote messages.
/** Callback for sending request vote 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] user_data User data that is passed from Raft server
* @param[in] node The
peer
's ID that we are sending this message to
* @param[in] node The
node
's ID that we are sending this message to
* @param[in] msg The request vote message to be sent
* @param[in] msg The request vote message to be sent
* @return 0 on success */
* @return 0 on success */
typedef
int
(
typedef
int
(
...
@@ -162,7 +162,7 @@ typedef int (
...
@@ -162,7 +162,7 @@ typedef int (
/** Callback for sending append entries messages.
/** Callback for sending append entries 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] user_data User data that is passed from Raft server
* @param[in] node The
peer
's ID that we are sending this message to
* @param[in] node The
node
's ID that we are sending this message to
* @param[in] msg The appendentries message to be sent
* @param[in] msg The appendentries message to be sent
* @return 0 on success */
* @return 0 on success */
typedef
int
(
typedef
int
(
...
@@ -306,8 +306,8 @@ void raft_set_callbacks(raft_server_t* me, raft_cbs_t* funcs, void* user_data);
...
@@ -306,8 +306,8 @@ void raft_set_callbacks(raft_server_t* me, raft_cbs_t* funcs, void* user_data);
/** Set configuration.
/** Set configuration.
*
*
* @deprecated This function has been replaced by raft_add_
peer
and
* @deprecated This function has been replaced by raft_add_
node
and
* raft_remove
peer
* raft_remove
_node
*
*
* @param[in] nodes Array of nodes. End of array is marked by NULL entry
* @param[in] nodes Array of nodes. End of array is marked by NULL entry
* @param[in] my_idx Index of the node that refers to this Raft server */
* @param[in] my_idx Index of the node that refers to this Raft server */
...
@@ -315,13 +315,13 @@ void raft_set_configuration(raft_server_t* me,
...
@@ -315,13 +315,13 @@ void raft_set_configuration(raft_server_t* me,
raft_node_configuration_t
*
nodes
,
int
my_idx
)
raft_node_configuration_t
*
nodes
,
int
my_idx
)
__attribute__
((
deprecated
));
__attribute__
((
deprecated
));
/** Add
peer
.
/** Add
node
.
*
*
* @note This library does not yet support membership changes.
* @note This library does not yet support membership changes.
* Once raft_periodic has been run this will fail.
* Once raft_periodic has been run this will fail.
*
*
* @note The order this call is made is important.
* @note The order this call is made is important.
* This call MUST be made in the same order as the other raft
peer
s.
* This call MUST be made in the same order as the other raft
node
s.
* This is because the node ID is assigned depending on when this call is made
* This is because the node ID is assigned depending on when this call is made
*
*
* @param[in] user_data The user data for the node.
* @param[in] user_data The user data for the node.
...
@@ -329,9 +329,9 @@ __attribute__ ((deprecated));
...
@@ -329,9 +329,9 @@ __attribute__ ((deprecated));
* Examples of what this could be:
* Examples of what this could be:
* - void* pointing to implementor's networking data
* - void* pointing to implementor's networking data
* - a (IP,Port) tuple
* - a (IP,Port) tuple
* @param[in] is_self Set to 1 if this "
peer
" is this server
* @param[in] is_self Set to 1 if this "
node
" is this server
* @return 0 on success; otherwise -1 */
* @return 0 on success; otherwise -1 */
int
raft_add_
peer
(
raft_server_t
*
me
,
void
*
user_data
,
int
is_self
);
int
raft_add_
node
(
raft_server_t
*
me
,
void
*
user_data
,
int
is_self
);
/** Set election timeout.
/** Set election timeout.
* The amount of time that needs to elapse before we assume the leader is down
* The amount of time that needs to elapse before we assume the leader is down
...
...
src/raft_server.c
View file @
492804fe
...
@@ -567,7 +567,7 @@ void raft_set_configuration(raft_server_t* me_,
...
@@ -567,7 +567,7 @@ void raft_set_configuration(raft_server_t* me_,
me
->
nodeid
=
my_idx
;
me
->
nodeid
=
my_idx
;
}
}
int
raft_add_
peer
(
raft_server_t
*
me_
,
void
*
udata
,
int
is_self
)
int
raft_add_
node
(
raft_server_t
*
me_
,
void
*
udata
,
int
is_self
)
{
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
...
...
tests/test_scenario.c
View file @
492804fe
...
@@ -25,9 +25,9 @@ void TestRaft_scenario_leader_appears(CuTest * tc)
...
@@ -25,9 +25,9 @@ void TestRaft_scenario_leader_appears(CuTest * tc)
sender
[
j
]
=
sender_new
((
void
*
)
j
);
sender
[
j
]
=
sender_new
((
void
*
)
j
);
sender_set_raft
(
sender
[
j
],
r
[
j
]);
sender_set_raft
(
sender
[
j
],
r
[
j
]);
raft_set_election_timeout
(
r
[
j
],
500
);
raft_set_election_timeout
(
r
[
j
],
500
);
raft_add_
peer
(
r
[
j
],
(
void
*
)
1
,
j
==
0
);
raft_add_
node
(
r
[
j
],
(
void
*
)
1
,
j
==
0
);
raft_add_
peer
(
r
[
j
],
(
void
*
)
2
,
j
==
1
);
raft_add_
node
(
r
[
j
],
(
void
*
)
2
,
j
==
1
);
raft_add_
peer
(
r
[
j
],
(
void
*
)
3
,
j
==
2
);
raft_add_
node
(
r
[
j
],
(
void
*
)
3
,
j
==
2
);
raft_set_callbacks
(
r
[
j
],
raft_set_callbacks
(
r
[
j
],
&
((
raft_cbs_t
)
{
&
((
raft_cbs_t
)
{
.
send_requestvote
=
sender_requestvote
,
.
send_requestvote
=
sender_requestvote
,
...
...
tests/test_server.c
View file @
492804fe
...
@@ -293,8 +293,8 @@ TestRaft_server_election_timeout_sets_to_zero_when_elapsed_time_greater_than_tim
...
@@ -293,8 +293,8 @@ TestRaft_server_election_timeout_sets_to_zero_when_elapsed_time_greater_than_tim
void
TestRaft_server_cfg_sets_num_nodes
(
CuTest
*
tc
)
void
TestRaft_server_cfg_sets_num_nodes
(
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
CuAssertTrue
(
tc
,
2
==
raft_get_num_nodes
(
r
));
CuAssertTrue
(
tc
,
2
==
raft_get_num_nodes
(
r
));
}
}
...
@@ -302,8 +302,8 @@ void TestRaft_server_cfg_sets_num_nodes(CuTest * tc)
...
@@ -302,8 +302,8 @@ void TestRaft_server_cfg_sets_num_nodes(CuTest * tc)
void
TestRaft_server_cant_get_node_we_dont_have
(
CuTest
*
tc
)
void
TestRaft_server_cant_get_node_we_dont_have
(
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
CuAssertTrue
(
tc
,
NULL
!=
raft_get_node
(
r
,
0
));
CuAssertTrue
(
tc
,
NULL
!=
raft_get_node
(
r
,
0
));
CuAssertTrue
(
tc
,
NULL
!=
raft_get_node
(
r
,
1
));
CuAssertTrue
(
tc
,
NULL
!=
raft_get_node
(
r
,
1
));
...
@@ -340,8 +340,8 @@ TestRaft_server_dont_increase_votes_for_me_when_receive_request_vote_response_is
...
@@ -340,8 +340,8 @@ TestRaft_server_dont_increase_votes_for_me_when_receive_request_vote_response_is
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
CuAssertTrue
(
tc
,
0
==
raft_get_nvotes_for_me
(
r
));
CuAssertTrue
(
tc
,
0
==
raft_get_nvotes_for_me
(
r
));
...
@@ -359,8 +359,8 @@ void TestRaft_server_increase_votes_for_me_when_receive_request_vote_response(
...
@@ -359,8 +359,8 @@ void TestRaft_server_increase_votes_for_me_when_receive_request_vote_response(
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
CuAssertTrue
(
tc
,
0
==
raft_get_nvotes_for_me
(
r
));
CuAssertTrue
(
tc
,
0
==
raft_get_nvotes_for_me
(
r
));
...
@@ -384,8 +384,8 @@ void TestRaft_server_recv_requestvote_reply_false_if_term_less_than_current_term
...
@@ -384,8 +384,8 @@ void TestRaft_server_recv_requestvote_reply_false_if_term_less_than_current_term
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
sender
=
sender_new
(
NULL
);
sender
=
sender_new
(
NULL
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_current_term
(
r
,
2
);
raft_set_current_term
(
r
,
2
);
...
@@ -407,8 +407,8 @@ void TestRaft_server_recv_requestvote_reply_true_if_term_greater_than_or_equal_t
...
@@ -407,8 +407,8 @@ void TestRaft_server_recv_requestvote_reply_true_if_term_greater_than_or_equal_t
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
/* term is less than current term */
/* term is less than current term */
...
@@ -425,8 +425,8 @@ void TestRaft_server_recv_requestvote_candidate_step_down_if_term_is_higher_than
...
@@ -425,8 +425,8 @@ void TestRaft_server_recv_requestvote_candidate_step_down_if_term_is_higher_than
)
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_become_candidate
(
r
);
raft_become_candidate
(
r
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -447,8 +447,8 @@ void TestRaft_server_dont_grant_vote_if_we_didnt_vote_for_this_candidate(
...
@@ -447,8 +447,8 @@ void TestRaft_server_dont_grant_vote_if_we_didnt_vote_for_this_candidate(
)
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
raft_vote
(
r
,
0
);
raft_vote
(
r
,
0
);
...
@@ -488,8 +488,8 @@ TestRaft_follower_recv_appendentries_reply_false_if_term_less_than_currentterm(
...
@@ -488,8 +488,8 @@ TestRaft_follower_recv_appendentries_reply_false_if_term_less_than_currentterm(
msg_appendentries_response_t
aer
,
*
aerr
;
msg_appendentries_response_t
aer
,
*
aerr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
/* no leader known at this point */
/* no leader known at this point */
CuAssertTrue
(
tc
,
-
1
==
raft_get_current_leader
(
r
));
CuAssertTrue
(
tc
,
-
1
==
raft_get_current_leader
(
r
));
...
@@ -518,8 +518,8 @@ TestRaft_follower_recv_appendentries_updates_currentterm_if_term_gt_currentterm(
...
@@ -518,8 +518,8 @@ TestRaft_follower_recv_appendentries_updates_currentterm_if_term_gt_currentterm(
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* older currentterm */
/* older currentterm */
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -547,8 +547,8 @@ void TestRaft_follower_recv_appendentries_does_not_log_if_no_entries_are_specifi
...
@@ -547,8 +547,8 @@ void TestRaft_follower_recv_appendentries_does_not_log_if_no_entries_are_specifi
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
...
@@ -575,8 +575,8 @@ void TestRaft_follower_recv_appendentries_increases_log(CuTest * tc)
...
@@ -575,8 +575,8 @@ void TestRaft_follower_recv_appendentries_increases_log(CuTest * tc)
char
*
str
=
"aaa"
;
char
*
str
=
"aaa"
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
...
@@ -619,8 +619,8 @@ TestRaft_follower_recv_appendentries_reply_false_if_doesnt_have_log_at_prev_log_
...
@@ -619,8 +619,8 @@ TestRaft_follower_recv_appendentries_reply_false_if_doesnt_have_log_at_prev_log_
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* term is different from appendentries */
/* term is different from appendentries */
raft_set_current_term
(
r
,
2
);
raft_set_current_term
(
r
,
2
);
...
@@ -659,8 +659,8 @@ TestRaft_follower_recv_appendentries_delete_entries_if_conflict_with_new_entries
...
@@ -659,8 +659,8 @@ TestRaft_follower_recv_appendentries_delete_entries_if_conflict_with_new_entries
raft_entry_t
*
ety_appended
;
raft_entry_t
*
ety_appended
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -713,8 +713,8 @@ void TestRaft_follower_recv_appendentries_add_new_entries_not_already_in_log(
...
@@ -713,8 +713,8 @@ void TestRaft_follower_recv_appendentries_add_new_entries_not_already_in_log(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
msg_appendentries_t
ae
;
msg_appendentries_t
ae
;
...
@@ -743,8 +743,8 @@ void TestRaft_follower_recv_appendentries_set_commitidx_to_prevLogIdx(
...
@@ -743,8 +743,8 @@ void TestRaft_follower_recv_appendentries_set_commitidx_to_prevLogIdx(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
msg_appendentries_t
ae
;
msg_appendentries_t
ae
;
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
...
@@ -786,8 +786,8 @@ void TestRaft_follower_recv_appendentries_set_commitidx_to_LeaderCommit(
...
@@ -786,8 +786,8 @@ void TestRaft_follower_recv_appendentries_set_commitidx_to_LeaderCommit(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
msg_appendentries_t
ae
;
msg_appendentries_t
ae
;
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
...
@@ -833,8 +833,8 @@ void TestRaft_follower_becomes_candidate_when_election_timeout_occurs(
...
@@ -833,8 +833,8 @@ void TestRaft_follower_becomes_candidate_when_election_timeout_occurs(
/* 1 second election timeout */
/* 1 second election timeout */
raft_set_election_timeout
(
r
,
1000
);
raft_set_election_timeout
(
r
,
1000
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* 1.001 seconds have passed */
/* 1.001 seconds have passed */
raft_periodic
(
r
,
1001
);
raft_periodic
(
r
,
1001
);
...
@@ -851,8 +851,8 @@ void TestRaft_follower_dont_grant_vote_if_candidate_has_a_less_complete_log(
...
@@ -851,8 +851,8 @@ void TestRaft_follower_dont_grant_vote_if_candidate_has_a_less_complete_log(
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* request vote */
/* request vote */
/* vote indicates candidate's log is not complete compared to follower */
/* vote indicates candidate's log is not complete compared to follower */
...
@@ -948,9 +948,9 @@ void TestRaft_follower_becoming_candidate_requests_votes_from_other_servers(
...
@@ -948,9 +948,9 @@ void TestRaft_follower_becoming_candidate_requests_votes_from_other_servers(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
3
,
0
);
raft_add_
node
(
r
,
(
void
*
)
3
,
0
);
/* set term so we can check it gets included in the outbound message */
/* set term so we can check it gets included in the outbound message */
raft_set_current_term
(
r
,
2
);
raft_set_current_term
(
r
,
2
);
...
@@ -979,8 +979,8 @@ void TestRaft_candidate_election_timeout_and_no_leader_results_in_new_election(
...
@@ -979,8 +979,8 @@ void TestRaft_candidate_election_timeout_and_no_leader_results_in_new_election(
vr
.
vote_granted
=
1
;
vr
.
vote_granted
=
1
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_election_timeout
(
r
,
1000
);
raft_set_election_timeout
(
r
,
1000
);
/* server wants to be leader, so becomes candidate */
/* server wants to be leader, so becomes candidate */
...
@@ -1002,11 +1002,11 @@ void TestRaft_candidate_receives_majority_of_votes_becomes_leader(CuTest * tc)
...
@@ -1002,11 +1002,11 @@ void TestRaft_candidate_receives_majority_of_votes_becomes_leader(CuTest * tc)
msg_requestvote_response_t
vr
;
msg_requestvote_response_t
vr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
3
,
0
);
raft_add_
node
(
r
,
(
void
*
)
3
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
4
,
0
);
raft_add_
node
(
r
,
(
void
*
)
4
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
5
,
0
);
raft_add_
node
(
r
,
(
void
*
)
5
,
0
);
CuAssertTrue
(
tc
,
5
==
raft_get_num_nodes
(
r
));
CuAssertTrue
(
tc
,
5
==
raft_get_num_nodes
(
r
));
/* vote for self */
/* vote for self */
...
@@ -1037,8 +1037,8 @@ void TestRaft_candidate_will_not_respond_to_voterequest_if_it_has_already_voted(
...
@@ -1037,8 +1037,8 @@ void TestRaft_candidate_will_not_respond_to_voterequest_if_it_has_already_voted(
msg_requestvote_response_t
rvr
;
msg_requestvote_response_t
rvr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_vote
(
r
,
0
);
raft_vote
(
r
,
0
);
...
@@ -1059,8 +1059,8 @@ void TestRaft_candidate_requestvote_includes_logidx(CuTest * tc)
...
@@ -1059,8 +1059,8 @@ void TestRaft_candidate_requestvote_includes_logidx(CuTest * tc)
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
0
);
raft_add_
node
(
r
,
(
void
*
)
1
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
1
);
raft_add_
node
(
r
,
(
void
*
)
2
,
1
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
...
@@ -1091,8 +1091,8 @@ void TestRaft_candidate_recv_appendentries_frm_leader_results_in_follower(
...
@@ -1091,8 +1091,8 @@ void TestRaft_candidate_recv_appendentries_frm_leader_results_in_follower(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
CuAssertTrue
(
tc
,
0
==
raft_is_follower
(
r
));
CuAssertTrue
(
tc
,
0
==
raft_is_follower
(
r
));
...
@@ -1119,8 +1119,8 @@ TestRaft_candidate_recv_appendentries_frm_invalid_leader_doesnt_result_in_follow
...
@@ -1119,8 +1119,8 @@ TestRaft_candidate_recv_appendentries_frm_invalid_leader_doesnt_result_in_follow
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* server's log is newer */
/* server's log is newer */
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -1164,9 +1164,9 @@ TestRaft_leader_when_becomes_leader_all_nodes_have_nextidx_equal_to_lastlog_idx_
...
@@ -1164,9 +1164,9 @@ TestRaft_leader_when_becomes_leader_all_nodes_have_nextidx_equal_to_lastlog_idx_
CuTest
*
tc
)
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
3
,
0
);
raft_add_
node
(
r
,
(
void
*
)
3
,
0
);
/* candidate to leader */
/* candidate to leader */
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
...
@@ -1195,9 +1195,9 @@ void TestRaft_leader_when_it_becomes_a_leader_sends_empty_appendentries(
...
@@ -1195,9 +1195,9 @@ void TestRaft_leader_when_it_becomes_a_leader_sends_empty_appendentries(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
3
,
0
);
raft_add_
node
(
r
,
(
void
*
)
3
,
0
);
/* candidate to leader */
/* candidate to leader */
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
raft_set_state
(
r
,
RAFT_STATE_CANDIDATE
);
...
@@ -1217,8 +1217,8 @@ void TestRaft_leader_responds_to_entry_msg_when_entry_is_committed(CuTest * tc)
...
@@ -1217,8 +1217,8 @@ void TestRaft_leader_responds_to_entry_msg_when_entry_is_committed(CuTest * tc)
msg_entry_response_t
cr
;
msg_entry_response_t
cr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* I am the leader */
/* I am the leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1243,8 +1243,8 @@ void TestRaft_non_leader_recv_entry_msg_fails(CuTest * tc)
...
@@ -1243,8 +1243,8 @@ void TestRaft_non_leader_recv_entry_msg_fails(CuTest * tc)
msg_entry_response_t
cr
;
msg_entry_response_t
cr
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
raft_set_state
(
r
,
RAFT_STATE_FOLLOWER
);
...
@@ -1271,8 +1271,8 @@ void TestRaft_leader_sends_appendentries_with_NextIdx_when_PrevIdx_gt_NextIdx(
...
@@ -1271,8 +1271,8 @@ void TestRaft_leader_sends_appendentries_with_NextIdx_when_PrevIdx_gt_NextIdx(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* i'm leader */
/* i'm leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1298,8 +1298,8 @@ void TestRaft_leader_sends_appendentries_with_leader_commit(
...
@@ -1298,8 +1298,8 @@ void TestRaft_leader_sends_appendentries_with_leader_commit(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* i'm leader */
/* i'm leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1323,8 +1323,8 @@ void TestRaft_leader_sends_appendentries_with_prevLogIdx(
...
@@ -1323,8 +1323,8 @@ void TestRaft_leader_sends_appendentries_with_prevLogIdx(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
/* me */
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
/* me */
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* i'm leader */
/* i'm leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1363,7 +1363,7 @@ void TestRaft_leader_sends_appendentries_with_prevLogIdx(
...
@@ -1363,7 +1363,7 @@ void TestRaft_leader_sends_appendentries_with_prevLogIdx(
CuAssertTrue
(
tc
,
ae
->
prev_log_idx
==
1
);
CuAssertTrue
(
tc
,
ae
->
prev_log_idx
==
1
);
}
}
void
TestRaft_leader_sends_appendentries_when_
peer
_has_next_idx_of_0
(
void
TestRaft_leader_sends_appendentries_when_
node
_has_next_idx_of_0
(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
raft_cbs_t
funcs
=
{
raft_cbs_t
funcs
=
{
...
@@ -1374,8 +1374,8 @@ void TestRaft_leader_sends_appendentries_when_peer_has_next_idx_of_0(
...
@@ -1374,8 +1374,8 @@ void TestRaft_leader_sends_appendentries_when_peer_has_next_idx_of_0(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* i'm leader */
/* i'm leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1413,8 +1413,8 @@ TestRaft_leader_retries_appendentries_with_decremented_NextIdx_log_inconsistency
...
@@ -1413,8 +1413,8 @@ TestRaft_leader_retries_appendentries_with_decremented_NextIdx_log_inconsistency
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
/* i'm leader */
/* i'm leader */
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
...
@@ -1439,8 +1439,8 @@ void TestRaft_leader_append_entry_to_log_increases_idxno(CuTest * tc)
...
@@ -1439,8 +1439,8 @@ void TestRaft_leader_append_entry_to_log_increases_idxno(CuTest * tc)
ety
.
data
.
len
=
strlen
(
"entry"
);
ety
.
data
.
len
=
strlen
(
"entry"
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
CuAssertTrue
(
tc
,
0
==
raft_get_log_count
(
r
));
CuAssertTrue
(
tc
,
0
==
raft_get_log_count
(
r
));
...
@@ -1492,8 +1492,8 @@ TestRaft_leader_recv_appendentries_response_increase_commit_idx_when_majority_ha
...
@@ -1492,8 +1492,8 @@ TestRaft_leader_recv_appendentries_response_increase_commit_idx_when_majority_ha
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
/* I'm the leader */
/* I'm the leader */
...
@@ -1553,8 +1553,8 @@ TestRaft_leader_recv_appendentries_response_increase_commit_idx_when_majority_ha
...
@@ -1553,8 +1553,8 @@ TestRaft_leader_recv_appendentries_response_increase_commit_idx_when_majority_ha
void
TestRaft_leader_recv_entry_is_committed_returns_0_if_not_committed
(
CuTest
*
tc
)
void
TestRaft_leader_recv_entry_is_committed_returns_0_if_not_committed
(
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -1578,8 +1578,8 @@ void TestRaft_leader_recv_entry_is_committed_returns_0_if_not_committed(CuTest *
...
@@ -1578,8 +1578,8 @@ void TestRaft_leader_recv_entry_is_committed_returns_0_if_not_committed(CuTest *
void
TestRaft_leader_recv_entry_is_committed_returns_neg_1_if_invalidated
(
CuTest
*
tc
)
void
TestRaft_leader_recv_entry_is_committed_returns_neg_1_if_invalidated
(
CuTest
*
tc
)
{
{
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_current_term
(
r
,
1
);
raft_set_current_term
(
r
,
1
);
...
@@ -1633,8 +1633,8 @@ void TestRaft_leader_recv_appendentries_response_failure_does_not_set_node_nexti
...
@@ -1633,8 +1633,8 @@ void TestRaft_leader_recv_appendentries_response_failure_does_not_set_node_nexti
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
/* I'm the leader */
/* I'm the leader */
...
@@ -1668,7 +1668,7 @@ void TestRaft_leader_recv_appendentries_response_failure_does_not_set_node_nexti
...
@@ -1668,7 +1668,7 @@ void TestRaft_leader_recv_appendentries_response_failure_does_not_set_node_nexti
CuAssertTrue
(
tc
,
1
==
raft_node_get_next_idx
(
p
));
CuAssertTrue
(
tc
,
1
==
raft_node_get_next_idx
(
p
));
}
}
void
TestRaft_leader_recv_appendentries_response_increment_idx_of_
peer
(
void
TestRaft_leader_recv_appendentries_response_increment_idx_of_
node
(
CuTest
*
tc
)
CuTest
*
tc
)
{
{
raft_cbs_t
funcs
=
{
raft_cbs_t
funcs
=
{
...
@@ -1678,8 +1678,8 @@ void TestRaft_leader_recv_appendentries_response_increment_idx_of_peer(
...
@@ -1678,8 +1678,8 @@ void TestRaft_leader_recv_appendentries_response_increment_idx_of_peer(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
/* I'm the leader */
/* I'm the leader */
...
@@ -1706,8 +1706,8 @@ void TestRaft_leader_recv_appendentries_steps_down_if_newer(
...
@@ -1706,8 +1706,8 @@ void TestRaft_leader_recv_appendentries_steps_down_if_newer(
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_current_term
(
r
,
5
);
raft_set_current_term
(
r
,
5
);
...
@@ -1734,8 +1734,8 @@ void TestRaft_leader_recv_appendentries_steps_down_if_newer_term(
...
@@ -1734,8 +1734,8 @@ void TestRaft_leader_recv_appendentries_steps_down_if_newer_term(
msg_appendentries_response_t
aer
;
msg_appendentries_response_t
aer
;
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_state
(
r
,
RAFT_STATE_LEADER
);
raft_set_current_term
(
r
,
5
);
raft_set_current_term
(
r
,
5
);
...
@@ -1760,9 +1760,9 @@ void TestRaft_leader_sends_empty_appendentries_every_request_timeout(
...
@@ -1760,9 +1760,9 @@ void TestRaft_leader_sends_empty_appendentries_every_request_timeout(
void
*
sender
=
sender_new
(
NULL
);
void
*
sender
=
sender_new
(
NULL
);
void
*
r
=
raft_new
();
void
*
r
=
raft_new
();
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_set_callbacks
(
r
,
&
funcs
,
sender
);
raft_add_
peer
(
r
,
(
void
*
)
1
,
1
);
raft_add_
node
(
r
,
(
void
*
)
1
,
1
);
raft_add_
peer
(
r
,
(
void
*
)
2
,
0
);
raft_add_
node
(
r
,
(
void
*
)
2
,
0
);
raft_add_
peer
(
r
,
(
void
*
)
3
,
0
);
raft_add_
node
(
r
,
(
void
*
)
3
,
0
);
raft_set_election_timeout
(
r
,
1000
);
raft_set_election_timeout
(
r
,
1000
);
raft_set_request_timeout
(
r
,
500
);
raft_set_request_timeout
(
r
,
500
);
CuAssertTrue
(
tc
,
0
==
raft_get_timeout_elapsed
(
r
));
CuAssertTrue
(
tc
,
0
==
raft_get_timeout_elapsed
(
r
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment