#[non_exhaustive]pub enum UpdateDeadline {
Interrupt,
Continue(u64),
Yield(u64),
YieldCustom(u64, Pin<Box<dyn Future<Output = ()> + Send>>),
}
runtime
only.Expand description
What to do after returning from a callback when the engine epoch reaches the deadline for a Store during execution of a function using that store.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Interrupt
Halt execution of WebAssembly, don’t update the epoch deadline, and raise a trap.
Continue(u64)
Extend the deadline by the specified number of ticks.
Yield(u64)
async
only.Extend the deadline by the specified number of ticks after yielding to
the async executor loop. This can only be used with an async Store
configured via Config::async_support
.
YieldCustom(u64, Pin<Box<dyn Future<Output = ()> + Send>>)
async
only.Extend the deadline by the specified number of ticks after yielding to
the async executor loop. This can only be used with an async Store
configured via Config::async_support
.
The yield will be performed by the future provided; when using tokio
it is recommended to provide tokio::task::yield_now
here.
Auto Trait Implementations§
impl Freeze for UpdateDeadline
impl !RefUnwindSafe for UpdateDeadline
impl Send for UpdateDeadline
impl !Sync for UpdateDeadline
impl Unpin for UpdateDeadline
impl !UnwindSafe for UpdateDeadline
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more