[][src]Struct tokio_current_thread::CurrentThread

pub struct CurrentThread<P: Park = ParkThread> { /* fields omitted */ }

Executes tasks on the current thread

Methods

impl CurrentThread<ParkThread>[src]

pub fn new() -> Self[src]

Create a new instance of CurrentThread.

impl<P: Park> CurrentThread<P>[src]

pub fn new_with_park(park: P) -> Self[src]

Create a new instance of CurrentThread backed by the given park handle.

pub fn is_idle(&self) -> bool[src]

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.

pub fn spawn<F>(&mut self, future: F) -> &mut Self where
    F: Future<Item = (), Error = ()> + 'static, 
[src]

Spawn the future on the executor.

This internally queues the future to be executed once run is called.

pub fn block_on<F>(
    &mut self,
    future: F
) -> Result<F::Item, BlockError<F::Error>> where
    F: Future
[src]

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.

pub fn run(&mut self) -> Result<(), RunError>[src]

Run the executor to completion, blocking the thread until all spawned futures have completed.

pub fn run_timeout(&mut self, duration: Duration) -> Result<(), RunTimeoutError>[src]

Run the executor to completion, blocking the thread until all spawned futures have completed or duration time has elapsed.

pub fn turn(&mut self, duration: Option<Duration>) -> Result<Turn, TurnError>[src]

Perform a single iteration of the event loop.

This function blocks the current thread even if the executor is idle.

pub fn enter<'a>(&'a mut self, enter: &'a mut Enter) -> Entered<'a, P>[src]

Bind CurrentThread instance with an execution context.

pub fn get_park(&self) -> &P[src]

Returns a reference to the underlying Park instance.

pub fn get_park_mut(&mut self) -> &mut P[src]

Returns a mutable reference to the underlying Park instance.

pub fn handle(&self) -> Handle[src]

Get a new handle to spawn futures on the executor

Different to the executor itself, the handle can be sent to different threads and can be used to spawn futures on the executor.

Trait Implementations

impl<P: Park> Drop for CurrentThread<P>[src]

impl<P: Park> Debug for CurrentThread<P>[src]

impl Executor for CurrentThread[src]

impl<T> TypedExecutor<T> for CurrentThread where
    T: Future<Item = (), Error = ()> + 'static, 
[src]

Auto Trait Implementations

impl<P = ParkThread> !Send for CurrentThread<P>

impl<P> Unpin for CurrentThread<P> where
    P: Unpin

impl<P = ParkThread> !Sync for CurrentThread<P>

impl<P = ParkThread> !UnwindSafe for CurrentThread<P>

impl<P = ParkThread> !RefUnwindSafe for CurrentThread<P>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]