pub struct JoinHandle<T> { /* private fields */ }Expand description
Handle to a spawned task. Retrieve the result with join().
Implementations§
Source§impl<T> JoinHandle<T>
impl<T> JoinHandle<T>
Sourcepub fn cancel(&self)
pub fn cancel(&self)
Request cancellation. The task will observe Cancelled at the next
Camber IO boundary (channel recv, http get/post, net read_request).
Cancelling a completed task is a no-op.
Sourcepub fn join(self) -> Result<T, RuntimeError>
pub fn join(self) -> Result<T, RuntimeError>
Wait for the task to complete and return its result.
Returns Err(TaskPanicked) if the task panicked, Err(ScopeClosed) if
the root scope refused the spawn, or Err(NoRuntime) if no runtime
context was established when spawn was called — a refusal carries
which of the two it was, so a caller can tell “too late” from “no
runtime at all”.
Trait Implementations§
Auto Trait Implementations§
impl<T> !RefUnwindSafe for JoinHandle<T>
impl<T> !Sync for JoinHandle<T>
impl<T> !UnwindSafe for JoinHandle<T>
impl<T> Freeze for JoinHandle<T>
impl<T> Send for JoinHandle<T>where
T: Send,
impl<T> Unpin for JoinHandle<T>
impl<T> UnsafeUnpin for JoinHandle<T>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.