pub enum WorkerDecision {
Clear,
CacheHit,
Recomputed,
}Expand description
Recompute decision the worker takes on a wake. Visible for
testing; the production loop calls recompute directly.
As of D.4.d.2.1.c the worker iterates rs.cells.panes and
produces one decision per pane; the aggregate decision
returned to run is the highest-precedence one across
panes (Recomputed > Clear > CacheHit).
Variants§
Clear
Pane had no document snapshot (transient race during buffer close, or non-Document leaf — though the publisher already filters those out). Worker cleared that pane’s matrix (or noted it was already empty).
CacheHit
Fingerprint of (providers × versions, source_line_count)
matches the previously observed fingerprint for this
pane’s buffer. No new matrix published; renderer reads
the existing one.
Recomputed
Fingerprint changed. Worker polled collect() on every
registered provider for the pane’s buffer, built a
fresh VirtualRowMatrix, and stored it via
pane.virtual_rows_matrix.
Trait Implementations§
Source§impl Debug for WorkerDecision
impl Debug for WorkerDecision
impl Eq for WorkerDecision
Source§impl PartialEq for WorkerDecision
impl PartialEq for WorkerDecision
impl StructuralPartialEq for WorkerDecision
Auto Trait Implementations§
impl Freeze for WorkerDecision
impl RefUnwindSafe for WorkerDecision
impl Send for WorkerDecision
impl Sync for WorkerDecision
impl Unpin for WorkerDecision
impl UnsafeUnpin for WorkerDecision
impl UnwindSafe for WorkerDecision
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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