[][src]Struct nursery::Nursery

pub struct Nursery { /* fields omitted */ }

An RAII aware concurrency primitive.

Nurseries can adopt or schdule concurrent operations. When a nursery leaves scope it will block on the completion of all of it's child operations.

A Nursery is iteself a concurrent operation and can be adopted by another Nursery to form a hierarchy. The adoptive Nursery will wait on the adopted Nursery before leaving scope.

Methods

impl Nursery[src]

pub fn new() -> Self[src]

Constructs a new emptyNursery.

pub fn adopt(&mut self, h: Box<dyn Waitable>)[src]

Adopt a running Waitable into the Nursery.

pub fn schedule(&mut self, h: Box<dyn Schedulable>)[src]

Trait Implementations

impl Waitable for Nursery[src]

impl From<Nursery> for Box<dyn Waitable>[src]

impl Drop for Nursery[src]

Auto Trait Implementations

impl !Send for Nursery

impl !Sync for Nursery

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

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

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

The type returned in the event of a conversion error.