pub struct DiffOverlayRefreshTask;Expand description
D.3.b: refresh task that owns the off-worker rendering of deletion-block cells.
At spawn time it does an initial render so the first
collect() from the worker returns content (rather than
the empty default cache). Thereafter it awaits the
session’s publish_notify and re-renders whenever a new
HunkIndex is published. After each render it fires
virtual_rows_wake so the worker re-runs its fingerprint
pass and picks up the cache change.
Held by :diff via the returned [JoinHandle]; :diffoff
aborts it.
Implementations§
Source§impl DiffOverlayRefreshTask
impl DiffOverlayRefreshTask
pub fn spawn( session: Arc<DiffSession>, baseline: Arc<dyn DiffParticipantSource>, cache: Arc<Mutex<DiffOverlayCache>>, virtual_rows_wake: Arc<Notify>, syntax: Option<SyntaxContext>, ) -> JoinHandle<()> ⓘ
Auto Trait Implementations§
impl Freeze for DiffOverlayRefreshTask
impl RefUnwindSafe for DiffOverlayRefreshTask
impl Send for DiffOverlayRefreshTask
impl Sync for DiffOverlayRefreshTask
impl Unpin for DiffOverlayRefreshTask
impl UnsafeUnpin for DiffOverlayRefreshTask
impl UnwindSafe for DiffOverlayRefreshTask
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> ⓘ
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