pub struct Timer {
    deadline: Instant,
}
Expand description

A timer that expires at a specific time.

Fields

deadline: Instant

Implementations

Start a timer that will expire at deadline.

This function only guarantees that the timer will not expire before deadline. The actual elapsed time may be much longer depending on various factors such as the current load in the application as well as the OS scheduler.

If deadline is in the future then any tasks await-ing on this Timer will only be notified if it is created on a thread that is currently running or will run the Executor::run or Executor::run_until methods.

The returned Timer can be cheaply cloned and all clones will share the same deadline.

Examples

Put the current task to sleep for 10 milliseconds.

    Timer::new(Instant::now() + Duration::from_millis(10)).await;

Returns the time at which this Timer expires.

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
The type of value produced on completion.
Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. 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.

Map this future’s output to a different type, returning a new future of the resulting type. Read more
Map this future’s output to a different type, returning a new future of the resulting type. Read more
Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more
Wrap this future in an Either future, making it the left-hand variant of that Either. Read more
Wrap this future in an Either future, making it the right-hand variant of that Either. Read more
Convert this future into a single element stream. Read more
Flatten the execution of this future when the output of this future is itself another future. Read more
Flatten the execution of this future when the successful result of this future is a stream. Read more
Fuse a future such that poll will never again be called once it has completed. This method can be used to turn any Future into a FusedFuture. Read more
Do something with the output of a future before passing it on. Read more
Catches unwinding panics while polling the future. Read more
Create a cloneable handle to this future where all handles will resolve to the same result. Read more
Turn this future into a future that yields () on completion and sends its output to another future on a separate task. Read more
Wrap the future in a Box, pinning it. Read more
Wrap the future in a Box, pinning it. Read more
A convenience for calling Future::poll on Unpin future types.
Evaluates and consumes the future, returning the resulting output if the future is ready after the first call to Future::poll. Read more

Calls U::from(self).

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

The output that the future will produce on completion.
Which kind of future are we turning this into?
Creates a future from a value. Read more
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.