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 an 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 an 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 an 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 an 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 an 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