Commit Graph

137 Commits

Author SHA1 Message Date
Raycho Mukelov 1ed762838e Add sample Dockerfile to build a test image 2023-09-08 12:27:05 +03:00
Raycho Mukelov fba4ac836f Fix Cluster Test random hanging issue 2023-09-07 06:56:35 +03:00
Raycho Mukelov d11190bc5d Get rid of useless forward declarations + more refactoring 2023-09-07 05:41:05 +03:00
Raycho Mukelov 615db86c52 Implement functioning elections / voting / heart-beats 2023-09-07 05:04:27 +03:00
Raycho Mukelov ca4041e4e6 Change Lock to RLock 2023-09-06 22:27:22 +03:00
Raycho Mukelov 3380c83bde More consesus voting / heart beat work 2023-09-06 20:52:57 +03:00
Raycho Mukelov e333d6e7c0 Various fixes 2023-09-04 12:47:27 +03:00
Raycho Mukelov f1d558cae5 Refactor some stuff. Add Key-Value DB support (MDBX) 2023-09-03 20:52:35 +03:00
Raycho Mukelov 2f4095915d Added Diego Ongaro Raft paper and Stanford PhD Dissertation 2023-09-03 07:23:23 +03:00
Raycho Mukelov 969d5e4848 Added MDBX DB Store wrapper in order to start writing the persistance part 2023-09-03 07:03:09 +03:00
Raycho Mukelov 07d87c896f Started writing election/voting 2023-09-03 06:47:29 +03:00
Raycho Mukelov 66a6d7bc33 Add more consensus code etc. 2023-09-03 05:41:09 +03:00
Raycho Mukelov 31a3ae1078 Fix some problems with function imports etc. Started implementing the consensus algo. 2023-09-03 01:59:35 +03:00
Raycho Mukelov 949c594c6a Update 2023-09-03 00:17:44 +03:00
Raycho Mukelov 1f4af32358 Refactor consensus module scaffold 2023-09-01 06:31:42 +03:00
Raycho Mukelov f95937107a Introduce async messaging 2023-09-01 06:11:53 +03:00
Raycho Mukelov ad5dd67560 Add DefaultUUID(00000000-0000-0000-0000-000000000000) etc. 2023-09-01 03:58:37 +03:00
Raycho Mukelov 497b309379 Add extended test scaffold for Basic Raft Cluster 2023-09-01 02:14:45 +03:00
Raycho Mukelov 8ac52c2dd8 Add run_all_test.sh help script etc. 2023-09-01 01:42:18 +03:00
Raycho Mukelov a69f528bc1 Refactor some module imports/exports 2023-09-01 01:00:39 +03:00
Raycho Mukelov 634094f766 Add basic Raft Cluster test 2023-09-01 00:43:22 +03:00
Raycho Mukelov 79e96d40a5 Add raft.nimble code for testing 2023-08-31 19:37:12 +03:00
Raycho Mukelov 45523fd60d Change raft_api and types 2023-08-31 18:52:09 +03:00
Raycho Mukelov 7017e9fc69 Add basic state machine test etc. 2023-08-31 15:36:58 +03:00
Raycho Mukelov 0f5ce4687b Use uuids 2023-08-29 12:20:40 +03:00
Raycho Mukelov a34d9c4288 Test timers cosmetic changes 2023-08-29 11:23:38 +03:00
Raycho Mukelov 93fa2d632c Timers + tests 2023-08-25 12:06:51 +03:00
Raycho Mukelov 833cc236a3 Add (basic) timer implementation to use for testing 2023-08-22 07:59:11 +03:00
Raycho Mukelov e1df04eb53 Make better Raft Protocol Definition 2023-08-17 21:27:45 +03:00
Raycho Mukelov 361c67803d Change timer create duration variable name to timerInterval 2023-08-13 00:15:22 +03:00
Raycho Mukelov 9cae024e30 Fix coding style 2023-08-10 11:38:15 +03:00
Raycho Mukelov 85e4d19e59 Add template to check if a timer is expired 2023-08-10 11:36:13 +03:00
Raycho Mukelov 4e333f32b4 Delegate timers creation/execution/cancelation to a 3-rd party user supplied library 2023-08-10 10:24:38 +03:00
Raycho Mukelov 236e5f32ea fix raft node access callback type 2023-08-10 01:08:22 +03:00
Raycho Mukelov 4fa562c4a1
Add preliminary API definitions and project roadmap 2023-08-09 13:06:34 +03:00
Zahary Karadjov 2533fb346b
Add license and .editorconfig 2023-08-03 19:58:40 +03:00
zah b45bfb9013
Initial commit 2023-08-03 19:11:18 +03:00