pub struct Pause(/* private fields */);Expand description
A request to park the run at its next node boundary.
Cloning is how the request travels: the loop keeps one handle and hands a
clone to each Runner, and every clone points at the same flag. There
is no channel because there is nothing to send - the only message is
“park”, it is idempotent, and a flag cannot be missed by a receiver that
was not listening yet.
The boundary is what makes this cheap. Every node writes the run’s state
before the next one starts, and every node skips what is already recorded:
prep returns early once candidates exist, implement asks only the seats
with nothing on disk, judge returns early once judgements exist. So a
parked run resumes into exactly the node it stopped before, and no agent
work is thrown away. Killing the process mid-node, by contrast, loses
whatever the seats in flight had not yet written - which for an implement
wave is an hour of paid work.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pause
impl RefUnwindSafe for Pause
impl Send for Pause
impl Sync for Pause
impl Unpin for Pause
impl UnsafeUnpin for Pause
impl UnwindSafe for Pause
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more