#[non_exhaustive]pub enum ResumeOutcome {
Nothing {
phase: TurnPhase,
},
Restartable,
Resumed {
outcomes: Vec<CommandOutcomeRecord>,
turn: Option<Box<AssistantTurn>>,
},
Regenerated {
turn: Box<AssistantTurn>,
},
AwaitingReconciliation {
attempts: Vec<AttemptId>,
},
}Expand description
What acting on a recovery decision achieved (spec §23.1).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Nothing
The turn was already finished.
Restartable
Nothing was ever admitted, so the turn may simply be submitted again.
Resumed
Pending commands were resumed by idempotency key.
Fields
§
outcomes: Vec<CommandOutcomeRecord>What each of them ended up doing.
§
turn: Option<Box<AssistantTurn>>The answer, when the resumed turn could be finished as well.
Regenerated
The effects were already committed; only the answer was rebuilt.
Fields
§
turn: Box<AssistantTurn>The answer, now persisted.
AwaitingReconciliation
An external effect may or may not have happened; only the application can settle it (§16.5, I15).
Trait Implementations§
Source§impl Clone for ResumeOutcome
impl Clone for ResumeOutcome
Auto Trait Implementations§
impl Freeze for ResumeOutcome
impl RefUnwindSafe for ResumeOutcome
impl Send for ResumeOutcome
impl Sync for ResumeOutcome
impl Unpin for ResumeOutcome
impl UnsafeUnpin for ResumeOutcome
impl UnwindSafe for ResumeOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more