Struct futures_core::task::Context[][src]

pub struct Context<'a> { /* fields omitted */ }

Information about the currently-running task.

Contexts are always tied to the stack, since they are set up specifically when performing a single poll step on a task.

Methods

impl<'a> Context<'a>
[src]

Create a new task context without the ability to spawn.

This constructor should only be used for no_std contexts, where the standard Executor trait is not available.

Get the Waker associated with the current task.

The waker can subsequently be used to wake up the task when some event of interest has happened.

Produce a context like the current one, but using the given waker instead.

This advanced method is primarily used when building "internal schedulers" within a task, where you want to provide some customized wakeup logic.

Produce a context like the current one, but using the given task locals instead.

This advanced method is primarily used when building "internal schedulers" within a task.

impl<'a> Context<'a>
[src]

Create a new task context.

Task contexts are equipped with:

  • Task-local data
  • A means of waking the task
  • A means of spawning new tasks, i.e. an executor

Get the default executor associated with this task, if any

This method is useful primarily if you want to explicitly handle spawn failures.

Spawn a future onto the default executor.

Panics

This method will panic if the default executor is unable to spawn or does not exist.

To handle executor errors, use executor() instead.

Produce a context like the current one, but using the given executor instead.

This advanced method is primarily used when building "internal schedulers" within a task.

Trait Implementations

impl<'a> Debug for Context<'a>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a> !Send for Context<'a>

impl<'a> !Sync for Context<'a>