Tyler Neely
|
9c5d19bc19
|
Start to adapt the transport-related code to use namespaces
|
2022-07-21 11:00:11 +00:00 |
|
Tyler Neely
|
4d85a7e605
|
Check-in simulator_transport.hpp
|
2022-07-21 10:49:33 +00:00 |
|
Tyler Neely
|
f6c2202772
|
Use anonymous namespace to avoid friend declarations in future.hpp
|
2022-07-21 10:49:19 +00:00 |
|
Tyler Neely
|
498ae97ae9
|
Clean up log messages
|
2022-07-21 10:26:08 +00:00 |
|
Tyler Neely
|
fbd015d3c6
|
Continue codebase clean-up in preparation for merge
|
2022-07-21 10:24:13 +00:00 |
|
Tyler Neely
|
1ef11a36f4
|
Apply feedback from cpplint
|
2022-07-21 09:33:06 +00:00 |
|
Tyler Neely
|
9ae1671e4f
|
Fix bug with MgFuture where its safety check was not correctly initialized
|
2022-07-20 18:17:06 +00:00 |
|
Tyler Neely
|
b4afe45de5
|
Handle Request timeouts properly in the simulator
|
2022-07-20 17:18:07 +00:00 |
|
Tyler Neely
|
581925e660
|
Fix a few bugs, expose stats
|
2022-07-20 17:07:18 +00:00 |
|
Tyler Neely
|
afef6dc11b
|
A large batch of bug fixes and clean-ups
|
2022-07-20 13:18:00 +00:00 |
|
Tyler Neely
|
689336e765
|
Fix several bugs, clean-ups and tuning
|
2022-07-19 14:57:01 +00:00 |
|
Marko Budiselic
|
5dd0ddc352
|
Killing bugs
|
2022-07-18 11:36:56 +02:00 |
|
Marko Budiselic
|
1480d975a7
|
Fix the basic_request example, something sill broken
|
2022-07-17 17:22:39 +02:00 |
|
Tyler Neely
|
9dc37a87f7
|
Enable more aggressive message scrambling to get a race condition to jump out about 0.2% of the time
|
2022-07-15 16:46:54 +00:00 |
|
Tyler Neely
|
46a2879ece
|
Fix a number of bugs in raft, and it can now go for around 1400 simulations before hitting a race condition
|
2022-07-15 16:44:42 +00:00 |
|
Tyler Neely
|
b2142e8d38
|
Remove unnecessary log message
|
2022-07-15 16:20:05 +00:00 |
|
Tyler Neely
|
0dc69c180d
|
Start cranking up the testing intensity and fix a variety of correctness and code quality issues
|
2022-07-15 16:19:00 +00:00 |
|
Tyler Neely
|
ad1d8637e5
|
Fix race condition in simulator. Make leader election function more reliably in raft code
|
2022-07-15 09:07:39 +00:00 |
|
Tyler Neely
|
4876b7cd8c
|
Start removing load-bearing sleep statements to get race conditions to jump out in the simulator
|
2022-07-15 05:43:40 +00:00 |
|
Tyler Neely
|
a6133dab49
|
Start to tune various timeouts in the raft implementation
|
2022-07-15 05:38:04 +00:00 |
|
Tyler Neely
|
3466c15f76
|
Make raft work in the happy path
|
2022-07-14 19:57:52 +00:00 |
|
Tyler Neely
|
63beeb8771
|
Send log state along with AppendRequest messages from Leader
|
2022-07-14 19:06:56 +00:00 |
|
Tyler Neely
|
d14f7705b1
|
Get most of the raft data path up and running
|
2022-07-14 18:45:24 +00:00 |
|
Tyler Neely
|
5e98971bb2
|
Continue filling out AppendEntries state transition logic
|
2022-07-14 13:06:54 +00:00 |
|
Tyler Neely
|
dc78adde40
|
Move empty in-flight early exit of simulator tick to before time advancement
|
2022-07-14 13:06:22 +00:00 |
|
Tyler Neely
|
80970a97f0
|
Get basic leader election to work and clean some things up
|
2022-07-14 12:18:09 +00:00 |
|
Tyler Neely
|
57533f2746
|
A large number of scattered cleanups. Don't use transport Request in state machine code
|
2022-07-14 10:50:49 +00:00 |
|
Tyler Neely
|
1a12a80af0
|
Continue to implement raft state machine transitions
|
2022-07-14 07:09:50 +00:00 |
|
Tyler Neely
|
30c97e658d
|
Implement some more of the raft state machine transitions
|
2022-07-13 22:31:51 +00:00 |
|
Tyler Neely
|
dd9862d32c
|
Add support for scrambling messages to the simulator
|
2022-07-13 19:59:23 +00:00 |
|
Tyler Neely
|
dc6548c996
|
Add support to the simulator to drop messages randomly
|
2022-07-13 19:51:04 +00:00 |
|
Tyler Neely
|
881e914b92
|
Add random number generator support to the IO interface
|
2022-07-13 13:37:38 +00:00 |
|
Tyler Neely
|
48ee40ce87
|
Start to fill out more raft logic now that role-specialized Handle and Cron are in place
|
2022-07-13 06:50:16 +00:00 |
|
Tyler Neely
|
d6742f643c
|
Significant simplification of event-handling logic by using std::visit while matching on both the message type and node role
|
2022-07-12 19:04:32 +00:00 |
|
Tyler Neely
|
d8f09b59b3
|
Add MgFuture::Cancel to signal that a future is intentionally dropped
|
2022-07-12 19:03:12 +00:00 |
|
Tyler Neely
|
2e5d8b7e8c
|
Check-in in-progress work for raft test on top of simulator
|
2022-07-11 18:01:13 +00:00 |
|
Tyler Neely
|
88eee66258
|
Small cleanup of basic_request test
|
2022-07-11 18:00:30 +00:00 |
|
Tyler Neely
|
d4cb259979
|
Fix issue with recursive parameter pack std::variant conversion of std::any. Improve documentation of the complex functionality
|
2022-07-11 17:59:52 +00:00 |
|
Tyler Neely
|
1a87dd2497
|
Add two methods to MgFuture: IsReady and TryGet
|
2022-07-11 17:59:08 +00:00 |
|
Tyler Neely
|
15d637729e
|
Clean-up basic_request example
|
2022-07-08 14:10:33 +00:00 |
|
Tyler Neely
|
5ee95a2e70
|
Add ShutDown method to Simulator and update basic_request test to utilize it
|
2022-07-08 14:05:02 +00:00 |
|
Tyler Neely
|
597a5d191c
|
Check-in SimulatorConfig
|
2022-07-08 11:49:29 +00:00 |
|
Tyler Neely
|
eee2a7e019
|
Fix memory leak caught by LSAN
|
2022-07-08 11:04:44 +00:00 |
|
Tyler Neely
|
25b0a445b9
|
Properly fill response promises in the simulator
|
2022-07-08 08:21:37 +00:00 |
|
Tyler Neely
|
20a6dae047
|
Get the message receive path up and running. Large number of small refactors
|
2022-07-07 20:58:16 +00:00 |
|
Tyler Neely
|
04dbedc3af
|
Add functionality for converting from std::any to a std::variant. Improve type names. Continue simulator implementation
|
2022-07-07 11:27:02 +00:00 |
|
Tyler Neely
|
a0058bc10a
|
Add OpaquePromise type with correct dtor. Make a few structs comparable for storage in maps. Fix initialization of Shared
|
2022-07-06 15:19:16 +00:00 |
|
Tyler Neely
|
f601e83f6f
|
Continue structuring the simulator and filling in its implementation
|
2022-07-05 21:11:39 +00:00 |
|
Tyler Neely
|
e1aab7065f
|
Use TSAN on futures test. Continue implementation of simulator
|
2022-07-05 18:02:01 +00:00 |
|
Tyler Neely
|
28516763b9
|
Fix issue with movement/consumption tracking in MgFuture and MgPromise
|
2022-07-05 17:36:47 +00:00 |
|