[][src]Struct sc_service::TaskManager

pub struct TaskManager { /* fields omitted */ }

Helper struct to manage background/async tasks in Service.

Methods

impl TaskManager[src]

pub fn spawn_handle(&self) -> SpawnTaskHandle[src]

Get a handle for spawning tasks.

pub fn spawn_essential_handle(&self) -> SpawnEssentialTaskHandle[src]

Get a handle for spawning essential tasks.

pub fn clean_shutdown(self) -> Pin<Box<dyn Future<Output = ()> + Send>>[src]

Send the signal for termination, prevent new tasks to be created, await for all the existing tasks to be finished and drop the object. You can consider this as an async drop.

pub fn future<'a>(
    &'a mut self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>>
[src]

Return a future that will end with success if the signal to terminate was sent (self.terminate()) or with an error if an essential task fails.

Warning

This function will not wait until the end of the remaining task. You must call and await clean_shutdown() after this.

pub fn terminate(&mut self)[src]

Signal to terminate all the running tasks.

Auto Trait Implementations

impl !RefUnwindSafe for TaskManager

impl Send for TaskManager

impl !Sync for TaskManager

impl Unpin for TaskManager

impl !UnwindSafe for TaskManager

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> CheckedConversion for T[src]

impl<T> Erased for T[src]

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

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

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

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

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

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.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]