Struct hazard::Pointers[][src]

#[repr(C)]
pub struct Pointers<T, M> where
    M: Memory
{ /* fields omitted */ }

A collection of hazardous pointers.

Methods

impl<T, M> Pointers<T, M> where
    M: Memory
[src]

Constructs a new Pointers.

The maximum number of threads is specified by threads and the maximum number of hazardous pointers per thread is specified by domains.

The maximum size lists of retired pointers can grow to is specified by threshold. Once a list of retired pointers reaches this limit, any pointers that are no longer hazardous are removed from the list and the memory they refer to is deallocated.

Sets the hazardous pointer for the supplied domain using the supplied thread.

Forward progress guarantee: lock-free.

Sets the hazardous pointer for the supplied domain using the supplied thread.

Forward progress guarantee: wait-free population oblivious.

Clears the hazardous pointer for the supplied domain using the supplied thread.

Forward progress guarantee: wait-free population oblivious.

Returns whether the supplied pointer is considered hazardous.

Forward progress guarantee: wait-free bounded (threads * domains).

Retires the supplied pointer using the supplied thread.

Forward progress guarantee: wait-free bounded (threads * threads).

Trait Implementations

impl<T, M> Drop for Pointers<T, M> where
    M: Memory
[src]

Executes the destructor for this type. Read more

impl<T, M> Debug for Pointers<T, M> where
    M: Memory
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<T, M> !Send for Pointers<T, M>

impl<T, M> !Sync for Pointers<T, M>