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
883d0d24
Commit
883d0d24
authored
Jun 22, 2017
by
Willem Thiart
Browse files
Fixes #40
raft_send_requestvote and raft_send_appendentries now return proper error codes.
parent
3e011ae2
Changes
2
Hide whitespace changes
Inline
Side-by-side
include/raft_private.h
View file @
883d0d24
...
...
@@ -86,7 +86,7 @@ int raft_send_requestvote(raft_server_t* me, raft_node_t* node);
int
raft_send_appendentries
(
raft_server_t
*
me
,
raft_node_t
*
node
);
void
raft_send_appendentries_all
(
raft_server_t
*
me_
);
int
raft_send_appendentries_all
(
raft_server_t
*
me_
);
/**
* Apply entry at lastApplied + 1. Entry becomes 'committed'.
...
...
src/raft_server.c
View file @
883d0d24
...
...
@@ -680,8 +680,7 @@ int raft_send_requestvote(raft_server_t* me_, raft_node_t* node)
rv
.
last_log_term
=
raft_get_last_log_term
(
me_
);
rv
.
candidate_id
=
raft_get_nodeid
(
me_
);
assert
(
me
->
cb
.
send_requestvote
);
me
->
cb
.
send_requestvote
(
me_
,
me
->
udata
,
node
,
&
rv
);
return
0
;
return
me
->
cb
.
send_requestvote
(
me_
,
me
->
udata
,
node
,
&
rv
);
}
int
raft_append_entry
(
raft_server_t
*
me_
,
raft_entry_t
*
ety
)
...
...
@@ -774,20 +773,26 @@ int raft_send_appendentries(raft_server_t* me_, raft_node_t* node)
ae
.
prev_log_term
);
assert
(
me
->
cb
.
send_appendentries
);
me
->
cb
.
send_appendentries
(
me_
,
me
->
udata
,
node
,
&
ae
);
return
0
;
return
me
->
cb
.
send_appendentries
(
me_
,
me
->
udata
,
node
,
&
ae
);
}
void
raft_send_appendentries_all
(
raft_server_t
*
me_
)
int
raft_send_appendentries_all
(
raft_server_t
*
me_
)
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
int
i
;
int
i
,
e
;
me
->
timeout_elapsed
=
0
;
for
(
i
=
0
;
i
<
me
->
num_nodes
;
i
++
)
{
if
(
me
->
node
!=
me
->
nodes
[
i
])
raft_send_appendentries
(
me_
,
me
->
nodes
[
i
]);
{
e
=
raft_send_appendentries
(
me_
,
me
->
nodes
[
i
]);
if
(
0
!=
e
)
return
e
;
}
}
return
0
;
}
raft_node_t
*
raft_add_node
(
raft_server_t
*
me_
,
void
*
udata
,
int
id
,
int
is_self
)
...
...
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