struct SenderData {
b: Bidegree,
new: bool,
retry: bool,
sender: Sender<Self>,
}Expand description
In MuResolution::compute_through_stem and MuResolution::compute_through_bidegree, we pass
this struct around to inform the supervisor what bidegrees have been computed. We use an
explicit struct instead of a tuple to avoid an infinite type problem.
Fields§
§b: Bidegree§new: boolWhether this bidegree was newly calculated or have already been calculated.
retry: boolWhether this job should be retried due to priority inversion avoidance.
sender: Sender<Self>The sender object used to send the SenderData. We put this in the struct and pass it
around the mpsc, so that when all senders are dropped, we know the computation has
completed. Compared to keeping track of calculations manually, this has the advantage of
behaving correctly when a thread panicking.
Implementations§
Auto Trait Implementations§
impl Freeze for SenderData
impl RefUnwindSafe for SenderData
impl Send for SenderData
impl Sync for SenderData
impl Unpin for SenderData
impl UnwindSafe for SenderData
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<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