pub trait JoinHandle<T> {
    // Required methods
    fn new(t: *const T, name: &str) -> Self;
    fn get_name(&self) -> Result<&str>;
    fn timeout_at_join(
        &self,
        timeout_time: u64
    ) -> Result<Result<Option<usize>, &str>>;

    // Provided methods
    fn err() -> Self
       where Self: Sized { ... }
    fn timeout_join(&self, dur: Duration) -> Result<Result<Option<usize>, &str>> { ... }
    fn join(&self) -> Result<Result<Option<usize>, &str>> { ... }
}
Expand description

Join abstraction.

Required Methods§

source

fn new(t: *const T, name: &str) -> Self

create JoinHandle instance.

source

fn get_name(&self) -> Result<&str>

get the task name.

Errors

if the task name is invalid.

source

fn timeout_at_join( &self, timeout_time: u64 ) -> Result<Result<Option<usize>, &str>>

join with timeout.

Errors

if join failed.

Provided Methods§

source

fn err() -> Self
where Self: Sized,

create JoinHandle instance.

source

fn timeout_join(&self, dur: Duration) -> Result<Result<Option<usize>, &str>>

join with Duration.

Errors

see timeout_at_join.

source

fn join(&self) -> Result<Result<Option<usize>, &str>>

join.

Errors

see timeout_at_join.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl JoinHandle<EventLoop> for CoJoinHandleImpl

source§

impl JoinHandle<EventLoop> for TaskJoinHandleImpl

source§

impl<'j> JoinHandle<CoroutinePoolImpl<'j>> for open_coroutine_core::pool::join::JoinHandleImpl<'j>

source§

impl<'j> JoinHandle<SchedulerImpl<'j>> for open_coroutine_core::scheduler::join::JoinHandleImpl<'j>