Struct wasmtime_fiber::Fiber
source · [−]pub struct Fiber<'a, Resume, Yield, Return> { /* private fields */ }
Implementations
sourceimpl<'a, Resume, Yield, Return> Fiber<'a, Resume, Yield, Return>
impl<'a, Resume, Yield, Return> Fiber<'a, Resume, Yield, Return>
sourcepub fn new(
stack: FiberStack,
func: impl FnOnce(Resume, &Suspend<Resume, Yield, Return>) -> Return + 'a
) -> Result<Self>
pub fn new(
stack: FiberStack,
func: impl FnOnce(Resume, &Suspend<Resume, Yield, Return>) -> Return + 'a
) -> Result<Self>
Creates a new fiber which will execute func
on the given stack.
This function returns a Fiber
which, when resumed, will execute func
to completion. When desired the func
can suspend itself via
Fiber::suspend
.
sourcepub fn resume(&self, val: Resume) -> Result<Return, Yield>
pub fn resume(&self, val: Resume) -> Result<Return, Yield>
Resumes execution of this fiber.
This function will transfer execution to the fiber and resume from where it last left off.
Returns true
if the fiber finished or false
if the fiber was
suspended in the middle of execution.
Panics
Panics if the current thread is already executing a fiber or if this fiber has already finished.
Note that if the fiber itself panics during execution then the panic will be propagated to this caller.
sourcepub fn stack(&self) -> &FiberStack
pub fn stack(&self) -> &FiberStack
Gets the stack associated with this fiber.
Trait Implementations
Auto Trait Implementations
impl<'a, Resume, Yield, Return> !RefUnwindSafe for Fiber<'a, Resume, Yield, Return>
impl<'a, Resume, Yield, Return> !Send for Fiber<'a, Resume, Yield, Return>
impl<'a, Resume, Yield, Return> !Sync for Fiber<'a, Resume, Yield, Return>
impl<'a, Resume, Yield, Return> Unpin for Fiber<'a, Resume, Yield, Return>
impl<'a, Resume, Yield, Return> UnwindSafe for Fiber<'a, Resume, Yield, Return> where
Resume: RefUnwindSafe,
Return: RefUnwindSafe,
Yield: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more