struct Node {
resource: Resource,
dirty: bool,
strong: Weak<()>,
held: Vec<Arc<()>>,
rebuild: Option<Rebuild>,
}Fields§
§resource: Resource§dirty: boolSet when this resource or one of its dependencies was replaced, and
cleared once ResourceGraph::maintain has run its recipe.
strong: Weak<()>A handle to the strong references this node’s ids carry. Its count is
the node’s liveness: ResourceGraph::maintain collects the node once
nothing holds it any more. See Retention.
held: Vec<Arc<()>>The strong references this node takes on the resources it was built from, one per declared dependency, so each of a resource’s dependents counts towards keeping it alive. Dropping the node releases them.
rebuild: Option<Rebuild>How to build the resource again after one of its inputs was replaced,
or None when the graph cannot rebuild it on its own.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Node
impl !Send for Node
impl !Sync for Node
impl !UnwindSafe for Node
impl Forget for Node
impl Freeze for Node
impl Unpin for Node
impl UnsafeUnpin for Node
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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