pub struct JoinHandle<T> { /* private fields */ }Expand description
Handle for awaiting the completion of an asynchronous task
Similar to tokio’s JoinHandle, this allows waiting for a task to complete
and retrieving its result. It implements Future so it can be awaited
in async contexts.
§Type Parameters
T- The output type of the task
§Examples
use luminal::Runtime;
let rt = Runtime::new().unwrap();
let handle = rt.spawn(async { 42 });
// Await the handle
let result = rt.block_on(async {
handle.await
});
assert_eq!(result, 42);Trait Implementations§
Source§impl<T: Send + 'static> Future for JoinHandle<T>
Available on crate feature std only.
impl<T: Send + 'static> Future for JoinHandle<T>
Available on crate feature
std only.Source§fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Self::Output>
fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Self::Output>
Poll method implementation for JoinHandle
This checks if the result is ready by attempting to receive from the channel. If the result is available, it’s returned as Ready. If not, it returns Pending to be polled again later.
§Parameters
self- Pinned mutable reference to self_cx- Context for the poll (not used in this implementation)
§Returns
Poll::Ready(T) when the task completes, or Poll::Pending if still running
Auto Trait Implementations§
impl<T> Freeze for JoinHandle<T>
impl<T> RefUnwindSafe for JoinHandle<T>
impl<T> Send for JoinHandle<T>where
T: Send,
impl<T> Sync for JoinHandle<T>where
T: Send,
impl<T> Unpin for JoinHandle<T>where
T: Unpin,
impl<T> UnwindSafe for JoinHandle<T>
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