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
f1b9f401
Commit
f1b9f401
authored
Mar 16, 2016
by
Willem Thiart
Browse files
Add raft_clear
parent
08c63427
Changes
4
Hide whitespace changes
Inline
Side-by-side
include/raft.h
View file @
f1b9f401
...
...
@@ -327,6 +327,9 @@ raft_server_t* raft_new();
* Frees all memory */
void
raft_free
(
raft_server_t
*
me
);
/** De-initialise Raft server. */
void
raft_clear
(
raft_server_t
*
me
);
/** Set callbacks and user data.
*
* @param[in] funcs Callbacks
...
...
include/raft_log.h
View file @
f1b9f401
...
...
@@ -9,6 +9,8 @@ void log_set_callbacks(log_t* me_, raft_cbs_t* funcs, void* raft);
void
log_free
(
log_t
*
me_
);
void
log_clear
(
log_t
*
me_
);
/**
* Add entry to log.
* Don't add entry if we've already added this entry (based off ID)
...
...
src/raft_log.c
View file @
f1b9f401
...
...
@@ -87,6 +87,15 @@ void log_set_callbacks(log_t* me_, raft_cbs_t* funcs, void* raft)
me
->
cb
=
funcs
;
}
void
log_clear
(
log_t
*
me_
)
{
log_private_t
*
me
=
(
log_private_t
*
)
me_
;
me
->
count
=
0
;
me
->
back
=
0
;
me
->
front
=
0
;
me
->
base
=
0
;
}
int
log_append_entry
(
log_t
*
me_
,
raft_entry_t
*
c
)
{
log_private_t
*
me
=
(
log_private_t
*
)
me_
;
...
...
src/raft_server.c
View file @
f1b9f401
...
...
@@ -71,6 +71,24 @@ void raft_free(raft_server_t* me_)
free
(
me_
);
}
void
raft_clear
(
raft_server_t
*
me_
)
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
me
->
current_term
=
0
;
me
->
voted_for
=
-
1
;
me
->
timeout_elapsed
=
0
;
me
->
voting_cfg_change_log_idx
=
-
1
;
raft_set_state
((
raft_server_t
*
)
me
,
RAFT_STATE_FOLLOWER
);
me
->
current_leader
=
NULL
;
me
->
commit_idx
=
0
;
me
->
last_applied_idx
=
0
;
me
->
num_nodes
=
0
;
me
->
node
=
NULL
;
me
->
voting_cfg_change_log_idx
=
0
;
log_clear
(
me
->
log
);
}
void
raft_election_start
(
raft_server_t
*
me_
)
{
raft_server_private_t
*
me
=
(
raft_server_private_t
*
)
me_
;
...
...
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