[−][src]Struct tokio_current_thread::CurrentThread
Executes tasks on the current thread
Methods
impl CurrentThread<ParkThread>
[src]
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]
F: Future<Item = (), Error = ()> + 'static,
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]
&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.
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> Debug for CurrentThread<P>
[src]
impl<P: Park> Drop for CurrentThread<P>
[src]
impl Executor for CurrentThread
[src]
fn spawn(
&mut self,
future: Box<dyn Future<Item = (), Error = ()> + Send>
) -> Result<(), SpawnError>
[src]
&mut self,
future: Box<dyn Future<Item = (), Error = ()> + Send>
) -> Result<(), SpawnError>
fn status(&self) -> Result<(), SpawnError>
[src]
impl<T> TypedExecutor<T> for CurrentThread where
T: Future<Item = (), Error = ()> + 'static,
[src]
T: Future<Item = (), Error = ()> + 'static,
fn spawn(&mut self, future: T) -> Result<(), SpawnError>
[src]
fn status(&self) -> Result<(), SpawnError>
[src]
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,
P: Unpin,
impl<P = ParkThread> !UnwindSafe for CurrentThread<P>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,