-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(driver): Turn get_value
into an asynchronous step within the state machine
#65
Conversation
get_value
into an asynchronous step within the state machine
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #65 +/- ##
==========================================
- Coverage 87.44% 87.16% -0.28%
==========================================
Files 30 29 -1
Lines 1346 1371 +25
==========================================
+ Hits 1177 1195 +18
- Misses 169 176 +7 ☔ View full report in Codecov by Sentry. |
f42fba3
to
240216a
Compare
240216a
to
7c2ef99
Compare
8beba35
to
89b4ec0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! thanks @romac
When a new round starts and we are the proposer, this PR allows the consensus engine to both schedule a propose timeout and ask the context for a value to propose. Either the timeout or the value to propose can then be fed back into the driver asynchronously as an input event.
TODO
RoundEvent::NewRoundProposer
ProposeValue(Cox::Value)
to feed them a value to proposeGetValueAndScheduleTimeout(Round, Timeout)
to ask the context for a value to be asynchronously fed back into the driver via the newProposeValue
eventNewRoundProposer
(now without a value) to the round state machine and emit the resulting message (ie. the newGetValueAndScheduleTimeout
message)Env::get_value
Error::NoValueToPropose