pub struct Interval { /* private fields */ }Expand description
Interval returned by [interval] and [interval_at].
This type allows you to wait on a sequence of instants with a certain
duration between each instant. Unlike calling [sleep] in a loop, this lets
you count the time spent between the calls to [sleep] as well.
Implementations§
Source§impl Interval
impl Interval
Sourcepub async fn tick(internal: Mut<Interval>)
pub async fn tick(internal: Mut<Interval>)
Completes when the next instant in the interval has been reached.
§Cancel safety
This method is cancellation safe. If tick is used as the branch in a select and
another branch completes first, then no tick has been consumed.
§Examples
use time::Duration;
let interval = time::interval(Duration::from_millis(10));
interval.tick().await;
println!("approximately 0ms have elapsed. The first tick completes immediately.");
interval.tick().await;
interval.tick().await;
println!("approximately 20ms have elapsed...");Trait Implementations§
Source§impl Any for Interval
impl Any for Interval
Source§const ANY_TYPE_INFO: AnyTypeInfo = _
const ANY_TYPE_INFO: AnyTypeInfo = _
The compile-time type information know for the type.
Source§impl InstallWith for Interval
impl InstallWith for Interval
Source§fn install_with(module: &mut Module) -> Result<(), ContextError>
fn install_with(module: &mut Module) -> Result<(), ContextError>
Hook to install more things into the module.
Source§impl MaybeTypeOf for Interval
impl MaybeTypeOf for Interval
Source§fn maybe_type_of() -> Result<DocType>
fn maybe_type_of() -> Result<DocType>
Type information for the given type.
Source§impl TypeOf for Interval
impl TypeOf for Interval
Source§const PARAMETERS: Hash
const PARAMETERS: Hash
Type parameters for the type. Read more
Source§const STATIC_TYPE_INFO: AnyTypeInfo = <Self as rune::Any>::ANY_TYPE_INFO
const STATIC_TYPE_INFO: AnyTypeInfo = <Self as rune::Any>::ANY_TYPE_INFO
Access diagnostical type information for the current type. Read more
Source§impl UnsafeToMut for Interval
impl UnsafeToMut for Interval
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_mut<'a>(
value: Value,
) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_mut<'a>( value: Value, ) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToRef for Interval
impl UnsafeToRef for Interval
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_ref<'a>(
value: Value,
) -> Result<(&'a Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_ref<'a>( value: Value, ) -> Result<(&'a Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToValue for &Interval
impl UnsafeToValue for &Interval
Source§type Guard = ValueRefGuard
type Guard = ValueRefGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
Source§impl UnsafeToValue for &mut Interval
impl UnsafeToValue for &mut Interval
Source§type Guard = ValueMutGuard
type Guard = ValueMutGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
impl AnyMarker for Interval
Auto Trait Implementations§
impl Freeze for Interval
impl !RefUnwindSafe for Interval
impl Send for Interval
impl Sync for Interval
impl Unpin for Interval
impl !UnwindSafe for Interval
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FromValue for Twhere
T: AnyMarker,
impl<T> FromValue for Twhere
T: AnyMarker,
Source§fn from_value(value: Value) -> Result<T, RuntimeError>
fn from_value(value: Value) -> Result<T, RuntimeError>
Try to convert to the given type, from the given value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> UnsafeToValue for Twhere
T: ToValue,
impl<T> UnsafeToValue for Twhere
T: ToValue,
Source§unsafe fn unsafe_to_value(
self,
) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
unsafe fn unsafe_to_value( self, ) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
Convert into a value. Read more