pub enum SafePoint {
BeforeAssemble {
turn: u32,
},
BeforeCall {
turn: u32,
},
BeforeWave {
turn: u32,
},
BeforeToolCall {
turn: u32,
call: u32,
},
BeforeSpawn {
turn: u32,
},
}Expand description
Where the driver stops to ask whether anything arrived. The turn layer owns three cancellation-safe points; this enum is how the driver names them to a caller that knows nothing about turn internals.
Variants§
BeforeAssemble
BeforeCall
BeforeWave
BeforeToolCall
Before one call of the wave, asked once per call. A wave is as many effects as the model asked for, so a halt that arrives while the third of eight runs stops the fourth rather than the next turn.
BeforeSpawn
After the wave, before the run acts on what the turn decided. The one boundary a run that concluded still passes through, so a cancel arriving that late stops the work the turn handed down instead of arriving at a run that has already ended.
Trait Implementations§
impl Copy for SafePoint
impl Eq for SafePoint
impl StructuralPartialEq for SafePoint
Auto Trait Implementations§
impl Freeze for SafePoint
impl RefUnwindSafe for SafePoint
impl Send for SafePoint
impl Sync for SafePoint
impl Unpin for SafePoint
impl UnsafeUnpin for SafePoint
impl UnwindSafe for SafePoint
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