pub struct Inventory { /* private fields */ }Expand description
One snapshot of the tasks and questions a blocked_by id can name.
Implementations§
Source§impl Inventory
impl Inventory
Sourcepub fn new(tasks: Vec<Task>, questions: &[Question]) -> Self
pub fn new(tasks: Vec<Task>, questions: &[Question]) -> Self
Build the snapshot. Callers take queue.list() and questions.list()
once, so a listing over many tasks never rescans the disk per task.
Sourcepub fn stuck(&self) -> BTreeMap<String, BTreeSet<String>>
pub fn stuck(&self) -> BTreeMap<String, BTreeSet<String>>
Every stuck blocked task, with the root ids it is frozen behind.
Sourcepub fn stuck_roots(&self, task: &Task) -> BTreeSet<String>
pub fn stuck_roots(&self, task: &Task) -> BTreeSet<String>
The roots task is frozen behind; empty when it is not stuck.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Inventory
impl RefUnwindSafe for Inventory
impl Send for Inventory
impl Sync for Inventory
impl Unpin for Inventory
impl UnsafeUnpin for Inventory
impl UnwindSafe for Inventory
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
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> ⓘ
Converts
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> ⓘ
Converts
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