#[non_exhaustive]pub enum Next {
Continue,
Goto {
job: JobId,
feedback: Option<String>,
},
Stop,
}Expand description
What happens after a job succeeds.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Continue
Ordinary progress: dependents run once their deps are satisfied. This is what every job does without a router.
Goto
Re-enter the graph at job, which runs again — along with everything
downstream of it that had already finished. The cycle.
feedback is what the job is told on the way back in. Measured on a real
run without it: a revise job re-entered five times produced 33, 33, 33,
31, 33 characters against a limit of 26 — it saw the same draft each lap
and no word of why it had been rejected, so it wrote the same thing. A
loop that cannot see its own last attempt repeats; it does not refine.
Stop
End the run here and report success, leaving the rest of the graph unrun. The early exit an iterative loop needs when it converges before its budget: the answer is good enough, so stop paying for more.
Implementations§
Trait Implementations§
impl Eq for Next
impl StructuralPartialEq for Next
Auto Trait Implementations§
impl Freeze for Next
impl RefUnwindSafe for Next
impl Send for Next
impl Sync for Next
impl Unpin for Next
impl UnsafeUnpin for Next
impl UnwindSafe for Next
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.