Struct zerogc_context::state::nosync::CollectionManager [−][src]
pub struct CollectionManager<C: RawCollectorImpl> { /* fields omitted */ }
Expand description
Manages coordination of garbage collections
This is factored out of the main code mainly due to differences from single-threaded collection
Trait Implementations
impl<C> CollectionManager<C> for CollectionManager<C> where
C: RawCollectorImpl<Manager = Self, RawContext = RawContext<C>>,
[src]
impl<C> CollectionManager<C> for CollectionManager<C> where
C: RawCollectorImpl<Manager = Self, RawContext = RawContext<C>>,
[src]type Context = RawContext<C>
fn new() -> Self
[src]
fn is_collecting(&self) -> bool
[src]
fn should_trigger_collection(&self) -> bool
[src]
unsafe fn freeze_context(&self, context: &RawContext<C>)
[src]
unsafe fn unfreeze_context(&self, _context: &RawContext<C>)
[src]
fn prevent_collection<R>(_collector: &C, _func: impl FnOnce() -> R) -> R
[src]
fn prevent_collection<R>(_collector: &C, _func: impl FnOnce() -> R) -> R
[src]Attempt to prevent garbage collection for the duration of the closure Read more
Auto Trait Implementations
impl<C> !RefUnwindSafe for CollectionManager<C>
impl<C> Send for CollectionManager<C> where
C: SyncCollector,
C: SyncCollector,
impl<C> !Sync for CollectionManager<C>
impl<C> Unpin for CollectionManager<C> where
<C as RawCollectorImpl>::Ptr: Unpin,
<C as RawCollectorImpl>::Ptr: Unpin,
impl<C> UnwindSafe for CollectionManager<C> where
<C as RawCollectorImpl>::Ptr: UnwindSafe,
<C as RawCollectorImpl>::Ptr: UnwindSafe,