pub struct TaskManager<E> { /* private fields */ }
Expand description
A TaskManager is used to manage a collection of tasks. There are two things you can do with it:
- TaskManager impls Future, so you can poll or await on it. It will be
Ready when all tasks return Ok(()) and the associated
TaskGroup
is dropped (so no more tasks can be created), or when any task panicks or returns an Err(E). - When a TaskManager is dropped, all tasks it contains are canceled
(terminated). So, if you use a combinator like
tokio::time::timeout(duration, task_manager).await
, all tasks will be terminated if the timeout occurs.
Trait Implementations§
Source§impl<E> Future for TaskManager<E>
impl<E> Future for TaskManager<E>
Auto Trait Implementations§
impl<E> Freeze for TaskManager<E>
impl<E> !RefUnwindSafe for TaskManager<E>
impl<E> Send for TaskManager<E>where
E: Send,
impl<E> Sync for TaskManager<E>where
E: Send,
impl<E> Unpin for TaskManager<E>
impl<E> !UnwindSafe for TaskManager<E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more