Skip to main content

Module outcomes

Module outcomes 

Source
Expand description

What one Suotar answer does to one ledger row, decided apart from the phases that apply it. No outcome here may return a state that leads back to import: a row whose import may have landed must never be sent again.

Structs§

Outcome
What the phase writes for this row.
RowFacts
The row’s scheduling history, which is all these decisions need from it.

Functions§

import_success_outcome
What an import answer that settled the row does to it, including the wait Sisu needs before the first verify poll can find anything.
import_success_state
Where a successful import item lands the row; sent means Sisu has not answered yet.
missing_context_outcome
A row resolve-enrolments claimed but has no completion or module to ask about. Retryable like any other failure, and it accrues retry age, so a row whose context never comes back expires instead of being repolled forever.
request_level_code 🔒
request_level_outcome
The outcome for every row of a batch Suotar rejected as a whole. On import all that matters is whether the request could have been acted on: a connection that never opened proves it was not.
retry_or_expire 🔒
Retryable until the row has been failing for a week, and then a support case rather than an endless one.
submission_uncertain
The one state whose only way out is verify; every path that cannot prove nothing was created ends here.
submit_error_outcome
A per-item error on the calls leading towards a submission. Only import creates attainments, so anything uncertain there is verify-only, while the same code on resolve-enrolments retries.
unanswered_item_outcome
An item we sent and Suotar did not answer. On import that leaves us where a timeout does; elsewhere the call simply did not happen for that row.
uncertain_recheck_outcome
A fruitless look through existingAttainments for an attainment we may have created. After enough of them a human checks Sisu by hand; the row still never resubmits.
verify_error_outcome
A per-item error while polling verify. Never a failure: the attainment may exist, and a row marked failed invites a second submission later.
verify_not_registered_outcome
A verify poll that Sisu has nothing to say about yet.
verify_poll_lease_until
How long a verify poll pushes the row out of reach while its request is out, so a concurrent iteration cannot poll it twice. The poll’s own outcome overwrites this.