Skip to main content

ExecutionContext

Struct ExecutionContext 

Source
pub struct ExecutionContext { /* private fields */ }
Expand description

Execution controls propagated through object resolution and operation dispatch.

Cancellation and deadlines are checked immediately before typed implementation invocation. Providers also receive the complete context and remain responsible for enforcing controls while backend work is in progress. resource_budget is an opaque Host-defined work-unit ceiling; this crate deliberately does not prescribe an async runtime or accounting mechanism.

Implementations§

Source§

impl ExecutionContext

Source

pub fn new() -> Self

Creates an execution context without a deadline or resource budget.

Source

pub fn with_cancellation(self, cancellation: CancellationToken) -> Self

Uses cancellation as this call’s cooperative cancellation signal.

Source

pub fn with_deadline(self, deadline: Instant) -> Self

Sets the monotonic deadline for this call.

Source

pub fn with_resource_budget(self, resource_budget: u64) -> Self

Sets an opaque Host-defined work-unit ceiling for this call.

Source

pub fn cancellation(&self) -> &CancellationToken

Returns the shared cooperative cancellation token.

Source

pub fn deadline(&self) -> Option<Instant>

Returns the monotonic deadline, if one was supplied.

Source

pub fn resource_budget(&self) -> Option<u64>

Returns the opaque Host-defined work-unit ceiling, if one was supplied.

Trait Implementations§

Source§

impl Clone for ExecutionContext

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExecutionContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ExecutionContext

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.