[][src]Struct flize::Collector

pub struct Collector { /* fields omitted */ }

The Collector acts like the central bookkeeper, it stores all the retired functions that are queued for execution along with information on what each participant is doing, Participants are pretty much always thread specific as of now but cross-thread participants may be added in the future. This information can be used to determine approximately when a participant last was in in a critical section and relevant shield history. The collector uses this information to determine when it is safe to execute a retired function.

Implementations

impl Collector[src]

pub fn new() -> Self[src]

pub fn thin_shield(&self) -> ThinShield<'_>[src]

Creates a shield on the appropriate local given the current thread.

pub fn full_shield(&self) -> FullShield<'_>[src]

pub fn local(&self) -> Local[src]

Get the local for the current thread.

pub fn try_collect_light(&self) -> Result<usize, ()>[src]

Attempt to advance the epoch and collect garbage. The result represents whether or not the attempt to advance the global epoch was successful and if it was the integer is how many retired functions were executed.

Trait Implementations

impl Default for Collector[src]

impl Send for Collector[src]

impl Sync for Collector[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.