Struct ibc_relayer::util::task::TaskHandle
source · [−]pub struct TaskHandle { /* private fields */ }Expand description
A task handle holds the endpoints for stopping or waiting for a background task to terminate.
A holder of TaskHandle can explicitly stop the background task by
calling shutdown or
shutdown_and_wait.
Otherwise, when the TaskHandle is dropped, it will stop the background
task and wait for the background task to terminate before returning.
Implementations
sourceimpl TaskHandle
impl TaskHandle
sourcepub fn join(self)
pub fn join(self)
Wait for the background task to terminate.
Note that because the background tasks are meant to run forever,
this would likely never return unless errors occurred or if
the step runner returns Next::Abort to abort prematurely.
sourcepub fn shutdown(&self)
pub fn shutdown(&self)
Send the shutdown signal to the background task without waiting for it to terminate.
Note that the waiting will still happen when the TaskHandle is
dropped.
This can be used to shutdown multiple tasks in parallel, and then wait for them to all terminate concurrently.
sourcepub fn shutdown_and_wait(self)
pub fn shutdown_and_wait(self)
Send the shutdown signal and wait for the task to terminate.
This is done implicitly by the TaskHandle when it is dropped.
sourcepub fn is_stopped(&self) -> bool
pub fn is_stopped(&self) -> bool
Check whether a background task has been stopped prematurely.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for TaskHandle
impl Send for TaskHandle
impl Sync for TaskHandle
impl Unpin for TaskHandle
impl !UnwindSafe for TaskHandle
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T in a tonic::Request
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more