Jing Yang
|
1f41b2dae0
Correct is_leader check in append_entries and heartbeat.
|
5 éve |
Jing Yang
|
e7fa862b50
Fix the timer never fires bug.
|
5 éve |
Jing Yang
|
94ce80a793
Allow debugging all structs.
|
5 éve |
Jing Yang
|
d637710470
Check one leader fails at initial election test.
|
5 éve |
Jing Yang
|
3975600a33
Initial election test skeleton.
|
5 éve |
Jing Yang
|
163b55487d
Refactor: using drop instead of scope.
|
5 éve |
Jing Yang
|
275d0bedda
More clippy changes.
|
5 éve |
Jing Yang
|
22fc247173
Use WaitGroup instead of Barrier to implement shutdown.
|
5 éve |
Jing Yang
|
8aee179c10
Add a stop barrier.
|
5 éve |
Jing Yang
|
8fb61b2fd0
Implement start() and kill()
|
5 éve |
Jing Yang
|
3c225e7891
Lots of clippy changes.
|
5 éve |
Jing Yang
|
1ba58689f2
Cancel the election if timer was changed more than once.
|
5 éve |
Jing Yang
|
25e1c30f5c
Remove timer once fired.
|
5 éve |
Jing Yang
|
e10b6ce01f
More refactor and more comments.
|
5 éve |
Jing Yang
|
75806c9ee0
Refactor the timer thread.
|
5 éve |
Jing Yang
|
18a98f3c27
Implement a timer version number for consistency.
|
5 éve |
Jing Yang
|
69653dc5c8
Implement an election timer.
|
5 éve |
Jing Yang
|
297ef1a2cf
Implement the initialization logic.
|
5 éve |
Jing Yang
|
cf6b4dd415
Fix a few unused warnings.
|
5 éve |
Jing Yang
|
0eb81c7d23
Add the apply command interface.
|
5 éve |
Jing Yang
|
ded4bce012
Sync log entries when commited.
|
5 éve |
Jing Yang
|
e98ab1a56e
Add a shutdown signal.
|
5 éve |
Jing Yang
|
465072b740
Fixes and tweaks.
|
5 éve |
Jing Yang
|
8eca0ab175
Implement a drop guard.
|
5 éve |
Jing Yang
|
6f061ffeaf
Rename a function.
|
5 éve |
Jing Yang
|
b5f50b019d
Move commit index after a successful sync.
|
5 éve |
Jing Yang
|
21f3505844
Remove some duplicate code.
|
5 éve |
Jing Yang
|
7e7be778a5
Refactor away deeply nested loops.
|
5 éve |
Jing Yang
|
fa6abe32a4
Continue moving args building out of RPC sending.
|
5 éve |
Jing Yang
|
538ec51c91
Separate RPC sending and args building.
|
5 éve |