pub struct GCScheduler { /* private fields */ }Expand description
GC scheduling and coordination
timing_state and trigger_conditions are real and load-bearing: see
GarbageCollectionEngine::should_collect, which evaluates
trigger_conditions against live memory-usage and timing data to decide
whether to run a collection right now. scheduled_tasks/current_task
are a separate, unfinished priority/deadline-based task queue
(GCTask has priority, target_region, deadline, …) that nothing
currently enqueues into or drains: should_collect returns a plain
bool and collect iterates every tracked region directly rather than
consuming a queued GCTask. Wiring a real task queue in means deciding
how it should interact with that existing per-region collection loop
(does collect start consuming scheduled_tasks instead? does
should_collect enqueue a task rather than / in addition to returning
bool?) – a scheduling-policy decision, not a lint fix, so this is
recorded as a finding rather than force-wired.
Auto Trait Implementations§
impl Freeze for GCScheduler
impl RefUnwindSafe for GCScheduler
impl Send for GCScheduler
impl Sync for GCScheduler
impl Unpin for GCScheduler
impl UnsafeUnpin for GCScheduler
impl UnwindSafe for GCScheduler
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
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