[−][src]Struct async_nursery::Nursery
The sender part of the nursery. Wraps an unbounded sender. Can be cloned.
To manage the spawned tasks and await their output, see NurseryStream
.
Will disconnect on drop. You can close all senders by calling close_nursery
.
Methods
impl<S, Out> Nursery<S, Out>
[src]
pub fn new(spawner: S) -> (Self, NurseryStream<Out>) where
Out: 'static,
[src]
Out: 'static,
Create a new nursery. Returns a tuple of the sender part and the stream of outputs.
pub fn close_nursery(&self)
[src]
Stop this nursery and any clones from accepting any more tasks. Calling this or
dropping all Nursery
is necessary for the stream impl of NurseryStream
to end
and return None
.
Trait Implementations
impl<S, Out> Clone for Nursery<S, Out> where
S: Clone,
[src]
S: Clone,
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<S: Debug, Out: Debug> Debug for Nursery<S, Out>
[src]
impl<S, Out> LocalNurse<Out> for Nursery<S, Out> where
S: LocalSpawnHandle<Out>,
Out: 'static,
[src]
S: LocalSpawnHandle<Out>,
Out: 'static,
fn nurse_local_obj(
&self,
fut: LocalFutureObj<'static, Out>
) -> Result<(), NurseErr>
[src]
&self,
fut: LocalFutureObj<'static, Out>
) -> Result<(), NurseErr>
impl<S> LocalSpawn for Nursery<S, ()> where
S: LocalSpawnHandle<()>,
[src]
S: LocalSpawnHandle<()>,
fn spawn_local_obj(
&self,
fut: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>
[src]
&self,
fut: LocalFutureObj<'static, ()>
) -> Result<(), SpawnError>
fn status_local(&self) -> Result<(), SpawnError>
[src]
impl<S, Out> Nurse<Out> for Nursery<S, Out> where
S: SpawnHandle<Out>,
Out: 'static + Send,
[src]
S: SpawnHandle<Out>,
Out: 'static + Send,
impl<S, Out> Sink<FutureObj<'static, Out>> for Nursery<S, Out> where
S: SpawnHandle<Out>,
Out: 'static + Send,
[src]
S: SpawnHandle<Out>,
Out: 'static + Send,
type Error = NurseErr
The type of value produced by the sink when an error occurs.
fn poll_ready(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
fn start_send(
self: Pin<&mut Self>,
fut: FutureObj<'static, Out>
) -> Result<(), Self::Error>
[src]
self: Pin<&mut Self>,
fut: FutureObj<'static, Out>
) -> Result<(), Self::Error>
fn poll_flush(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
fn poll_close(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
This is a no-op. If you want to disconnect, just drop this Nursery
. If you want to
close the NurseryStream, call Nursery::close_nursery
.
impl<S, Out> Sink<LocalFutureObj<'static, Out>> for Nursery<S, Out> where
S: LocalSpawnHandle<Out>,
Out: 'static,
[src]
S: LocalSpawnHandle<Out>,
Out: 'static,
type Error = NurseErr
The type of value produced by the sink when an error occurs.
fn poll_ready(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
fn start_send(
self: Pin<&mut Self>,
fut: LocalFutureObj<'static, Out>
) -> Result<(), Self::Error>
[src]
self: Pin<&mut Self>,
fut: LocalFutureObj<'static, Out>
) -> Result<(), Self::Error>
fn poll_flush(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
fn poll_close(
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
[src]
self: Pin<&mut Self>,
_cx: &mut Context
) -> Poll<Result<(), Self::Error>>
This is a no-op. If you want to disconnect, just drop this Nursery
. If you want to
close the NurseryStream, call Nursery::close_nursery
.
impl<S> Spawn for Nursery<S, ()> where
S: SpawnHandle<()>,
[src]
S: SpawnHandle<()>,
Auto Trait Implementations
impl<S, Out> !RefUnwindSafe for Nursery<S, Out>
impl<S, Out> Send for Nursery<S, Out> where
Out: Send,
S: Send,
Out: Send,
S: Send,
impl<S, Out> Sync for Nursery<S, Out> where
Out: Send,
S: Sync,
Out: Send,
S: Sync,
impl<S, Out> Unpin for Nursery<S, Out> where
S: Unpin,
S: Unpin,
impl<S, Out> !UnwindSafe for Nursery<S, Out>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<Sp> LocalSpawnExt for Sp where
Sp: LocalSpawn + ?Sized,
[src]
Sp: LocalSpawn + ?Sized,
fn spawn_local<Fut>(&self, future: Fut) -> Result<(), SpawnError> where
Fut: Future<Output = ()> + 'static,
[src]
Fut: Future<Output = ()> + 'static,
fn spawn_local_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: Future + 'static,
[src]
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: Future + 'static,
impl<T, Item> SinkExt<Item> for T where
T: Sink<Item> + ?Sized,
[src]
T: Sink<Item> + ?Sized,
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F> where
E: From<Self::Error>,
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
[src]
E: From<Self::Error>,
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F> where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
[src]
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::Error) -> E,
[src]
F: FnOnce(Self::Error) -> E,
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E> where
Self::Error: Into<E>,
[src]
Self::Error: Into<E>,
fn buffer(self, capacity: usize) -> Buffer<Self, Item>
[src]
fn close(&mut self) -> Close<Self, Item> where
Self: Unpin,
[src]
Self: Unpin,
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si> where
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
[src]
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
fn flush(&mut self) -> Flush<Self, Item> where
Self: Unpin,
[src]
Self: Unpin,
fn send(&mut self, item: Item) -> Send<Self, Item> where
Self: Unpin,
[src]
Self: Unpin,
fn send_all<St>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St> where
Self: Unpin,
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
[src]
Self: Unpin,
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
fn left_sink<Si2>(self) -> Either<Self, Si2> where
Si2: Sink<Item, Error = Self::Error>,
[src]
Si2: Sink<Item, Error = Self::Error>,
fn right_sink<Si1>(self) -> Either<Si1, Self> where
Si1: Sink<Item, Error = Self::Error>,
[src]
Si1: Sink<Item, Error = Self::Error>,
impl<Sp> SpawnExt for Sp where
Sp: Spawn + ?Sized,
[src]
Sp: Spawn + ?Sized,
fn spawn<Fut>(&self, future: Fut) -> Result<(), SpawnError> where
Fut: Future<Output = ()> + Send + 'static,
[src]
Fut: Future<Output = ()> + Send + 'static,
fn spawn_with_handle<Fut>(
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: Future + Send + 'static,
<Fut as Future>::Output: Send,
[src]
&self,
future: Fut
) -> Result<RemoteHandle<<Fut as Future>::Output>, SpawnError> where
Fut: Future + Send + 'static,
<Fut as Future>::Output: Send,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,