pub enum WorkerDecision {
Clear,
CacheHit,
Recomputed,
RecomputedIncremental,
}Expand description
Recompute decision the worker takes on a wake. Visible for
testing; the production loop calls recompute directly.
Variants§
Clear
snapshot is None — no active document. Worker clears the
published matrix (so a previous document’s cells don’t
linger after a close).
CacheHit
Current inputs’ version matches the already-published
matrix’s version. Worker does nothing.
Recomputed
version differs from the published matrix; worker built a
fresh CellMatrix from the snapshot and stored it. The
full-rebuild path — every chunk’s rows were materialised
from rope text + syntax + inlays + theme.
RecomputedIncremental
S2.4.b: incremental rebuild — exactly one text edit happened
since the last publish AND all other version axes are
unchanged. Chunks before the edit’s affected range reuse
their Arc<CellChunk> verbatim; chunks at the affected
range rebuild from scratch; chunks past the affected range
shift by lines_added - lines_removed (cell payloads
shared, only source_line advances).
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