pub struct TrackerExecutor<E> { /* private fields */ }
Expand description
Track running tasks.
Note that there is no guarantee that the runtime would drop the future after it is done; therefore,
this should only be used for purely approx statistics and not actual numbers. Additionally,
it does not track any tasks spawned directly by the runtime but only by Executor::spawn
through
this struct.
Implementations§
Trait Implementations§
Source§impl<E> Debug for TrackerExecutor<E>
impl<E> Debug for TrackerExecutor<E>
Source§impl<E: Executor> Executor for TrackerExecutor<E>
impl<E: Executor> Executor for TrackerExecutor<E>
Source§fn spawn<F>(&self, future: F) -> JoinHandle<F::Output> ⓘ
fn spawn<F>(&self, future: F) -> JoinHandle<F::Output> ⓘ
Spawns a new asynchronous task in the background, returning a Future
JoinHandle
for it.Source§fn spawn_abortable<F>(&self, future: F) -> AbortableJoinHandle<F::Output> ⓘ
fn spawn_abortable<F>(&self, future: F) -> AbortableJoinHandle<F::Output> ⓘ
Spawns a new asynchronous task in the background, returning an abortable handle that will cancel the task
once the handle is dropped. Read more
Source§fn dispatch<F>(&self, future: F)
fn dispatch<F>(&self, future: F)
Spawns a new asynchronous task in the background without an handle.
Basically the same as
Executor::spawn
.Source§fn spawn_coroutine<T, F, Fut>(&self, f: F) -> CommunicationTask<T>
fn spawn_coroutine<T, F, Fut>(&self, f: F) -> CommunicationTask<T>
Spawns a new asynchronous task that accepts messages to the task using
channels
.
This function returns a handle that allows sending a message, or if there is no reference to the handle at all
(in other words, all handles are dropped), the task would be aborted.Source§fn spawn_coroutine_with_context<T, F, C, Fut>(
&self,
context: C,
f: F,
) -> CommunicationTask<T>
fn spawn_coroutine_with_context<T, F, C, Fut>( &self, context: C, f: F, ) -> CommunicationTask<T>
Spawns a new asynchronous task with provided context that accepts messages to the task using
channels
.
This function returns a handle that allows sending a message, or if there is no reference to the handle at all
(in other words, all handles are dropped), the task would be aborted.Source§fn spawn_unbounded_coroutine<T, F, Fut>(
&self,
f: F,
) -> UnboundedCommunicationTask<T>
fn spawn_unbounded_coroutine<T, F, Fut>( &self, f: F, ) -> UnboundedCommunicationTask<T>
Spawns a new asynchronous task that accepts messages to the task using
channels
.
This function returns a handle that allows sending a message, or if there is no reference to the handle at all
(in other words, all handles are dropped), the task would be aborted.Source§fn spawn_unbounded_coroutine_with_context<T, F, C, Fut>(
&self,
context: C,
f: F,
) -> UnboundedCommunicationTask<T>
fn spawn_unbounded_coroutine_with_context<T, F, C, Fut>( &self, context: C, f: F, ) -> UnboundedCommunicationTask<T>
Spawns a new asynchronous task with provided context that accepts messages to the task using
channels
.
This function returns a handle that allows sending a message, or if there is no reference to the handle at all
(in other words, all handles are dropped), the task would be aborted.Auto Trait Implementations§
impl<E> Freeze for TrackerExecutor<E>where
E: Freeze,
impl<E> RefUnwindSafe for TrackerExecutor<E>where
E: RefUnwindSafe,
impl<E> Send for TrackerExecutor<E>where
E: Send,
impl<E> Sync for TrackerExecutor<E>where
E: Sync,
impl<E> Unpin for TrackerExecutor<E>where
E: Unpin,
impl<E> UnwindSafe for TrackerExecutor<E>where
E: UnwindSafe,
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