Struct tokio::runtime::context::Context

source ·
struct Context {
    thread_id: Cell<Option<ThreadId>>,
    current: HandleCell,
    scheduler: Scoped<Context>,
    current_task_id: Cell<Option<Id>>,
    runtime: Cell<EnterRuntime>,
    rng: Cell<Option<FastRand>>,
    budget: Cell<Budget>,
}

Fields§

§thread_id: Cell<Option<ThreadId>>

Uniquely identifies the current thread

§current: HandleCell

Handle to the runtime scheduler running on the current thread.

§scheduler: Scoped<Context>

Handle to the scheduler’s internal “context”

§current_task_id: Cell<Option<Id>>§runtime: Cell<EnterRuntime>

Tracks if the current thread is currently driving a runtime. Note, that if this is set to “entered”, the current scheduler handle may not reference the runtime currently executing. This is because other runtime handles may be set to current from within a runtime.

§rng: Cell<Option<FastRand>>§budget: Cell<Budget>

Tracks the amount of “work” a task may still do before yielding back to the scheduler

Implementations§

source§

impl Context

source

pub(super) fn set_current(&self, handle: &Handle) -> SetCurrentGuard

Auto Trait Implementations§

§

impl !Freeze for Context

§

impl !RefUnwindSafe for Context

§

impl !Send for Context

§

impl !Sync for Context

§

impl Unpin for Context

§

impl !UnwindSafe for Context

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.