Struct tokio_current_thread::CurrentThread
source · [−]pub struct CurrentThread<P: Park = ParkThread> { /* private fields */ }
Expand description
Executes tasks on the current thread
Implementations
sourceimpl<P: Park> CurrentThread<P>
impl<P: Park> CurrentThread<P>
sourcepub fn new_with_park(park: P) -> Self
pub fn new_with_park(park: P) -> Self
Create a new instance of CurrentThread
backed by the given park
handle.
sourcepub fn is_idle(&self) -> bool
pub fn is_idle(&self) -> bool
Returns true
if the executor is currently idle.
An idle executor is defined by not currently having any spawned tasks.
Note that this method is inherently racy – if a future is spawned from a remote Handle
,
this method may return true
even though there are more futures to be executed.
sourcepub fn spawn<F>(&mut self, future: F) -> &mut Self where
F: Future<Item = (), Error = ()> + 'static,
pub fn spawn<F>(&mut self, future: F) -> &mut Self where
F: Future<Item = (), Error = ()> + 'static,
Spawn the future on the executor.
This internally queues the future to be executed once run
is called.
sourcepub fn block_on<F>(
&mut self,
future: F
) -> Result<F::Item, BlockError<F::Error>> where
F: Future,
pub fn block_on<F>(
&mut self,
future: F
) -> Result<F::Item, BlockError<F::Error>> where
F: Future,
Synchronously waits for the provided future
to complete.
This function can be used to synchronously block the current thread
until the provided future
has resolved either successfully or with an
error. The result of the future is then returned from this function
call.
Note that this function will also execute any spawned futures on the current thread, but will not block until these other spawned futures have completed.
The caller is responsible for ensuring that other spawned futures complete execution.
sourcepub fn run(&mut self) -> Result<(), RunError>
pub fn run(&mut self) -> Result<(), RunError>
Run the executor to completion, blocking the thread until all spawned futures have completed.
sourcepub fn run_timeout(&mut self, duration: Duration) -> Result<(), RunTimeoutError>
pub fn run_timeout(&mut self, duration: Duration) -> Result<(), RunTimeoutError>
Run the executor to completion, blocking the thread until all
spawned futures have completed or duration
time has elapsed.
sourcepub fn turn(&mut self, duration: Option<Duration>) -> Result<Turn, TurnError>
pub fn turn(&mut self, duration: Option<Duration>) -> Result<Turn, TurnError>
Perform a single iteration of the event loop.
This function blocks the current thread even if the executor is idle.
sourcepub fn enter<'a>(&'a mut self, enter: &'a mut Enter) -> Entered<'a, P>
pub fn enter<'a>(&'a mut self, enter: &'a mut Enter) -> Entered<'a, P>
Bind CurrentThread
instance with an execution context.
sourcepub fn get_park_mut(&mut self) -> &mut P
pub fn get_park_mut(&mut self) -> &mut P
Returns a mutable reference to the underlying Park
instance.
Trait Implementations
sourceimpl<P: Park> Debug for CurrentThread<P>
impl<P: Park> Debug for CurrentThread<P>
sourceimpl<P: Park> Drop for CurrentThread<P>
impl<P: Park> Drop for CurrentThread<P>
sourceimpl Executor for CurrentThread
impl Executor for CurrentThread
sourceimpl<T> TypedExecutor<T> for CurrentThread where
T: Future<Item = (), Error = ()> + 'static,
impl<T> TypedExecutor<T> for CurrentThread where
T: Future<Item = (), Error = ()> + 'static,
Auto Trait Implementations
impl<P = ParkThread> !RefUnwindSafe for CurrentThread<P>
impl<P = ParkThread> !Send for CurrentThread<P>
impl<P = ParkThread> !Sync for CurrentThread<P>
impl<P> Unpin for CurrentThread<P> where
P: Unpin,
impl<P = ParkThread> !UnwindSafe for CurrentThread<P>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more