pub struct Runtime<Budget>(_) 
where
    Budget: Budgetable
;
Expand description

A lightweight asynchronous runtime that runs a future while keeping track of a budget.

Regardless of whether the threadsafe or single-threaded versions of the Runtime are used, this Runtime will always be a single-threaded runtime. The benefit of using the threadsafe runtime is to be able to move paused runtimes between different threads or allow the running futures to be woken by external threads.

Implementations

Executes future with the provided budget. The future will run until it completes or until it has invoked spend() enough to exhaust the budget provided. If the future never called spend(), this function will not return until the future has completed.

This function returns a Future which must be awaited to execute the function.

This implementation is runtime agnostic.

Panics

Panics when called within from within future or any code invoked by future.

Schedules future to run.

This runtime will only execute one future at any given moment in time. Context switches between futures will only happen when the running future yields control at an await.

Returns a handle that can be .awaited to wait for the task to complete.

Retrieves the current budget.

This function should only be called by code that is guaranteed to be running by this executor. When called outside of code run by this executor, this function will.

Spends amount from the curent budget.

This function returns a future which must be awaited.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.