Skip to main content

ContinuationWork

Struct ContinuationWork 

Source
pub struct ContinuationWork<'message, Worker>
where Worker: Pipe,
{ /* private fields */ }

Implementations§

Source§

impl<'message, Worker> ContinuationWork<'message, Worker>
where Worker: Pipe,

Source

pub const fn id(&self) -> ContinuationId<Worker>

Source

pub const fn input(&self) -> &Worker::In<'message>

Source

pub const fn timeout_after(&self) -> TimeoutAfter

Source

pub const fn timer_token(&self) -> TimerToken

Source

pub const fn timer_input(&self) -> TimerIn<TimerToken>

Source

pub fn settle_timer_cancellation( self, outcome: TimerCancellationOutcome<TimerToken>, ) -> Result<ContinuationWorkCancellationOutcome<'message, Worker>, ContinuationWorkCancellationMismatch<'message, Worker>>

Source

pub fn begin( self, ) -> (Worker::In<'message>, ContinuationReply<'message, Worker>)

Consume the input now and retain its move-only reply obligation across steps. Beginning work relinquishes the ability to retract it as unstarted.

Source

pub fn fulfill( self, output: Worker::Out<'message>, ) -> ContinuationCompletion<'message, Worker>

Source

pub fn fulfill_with( self, fulfill: impl FnOnce(Worker::In<'message>) -> Worker::Out<'message>, ) -> ContinuationCompletion<'message, Worker>

Trait Implementations§

Source§

impl<'message, Worker> StepInputOf<Worker> for ContinuationWork<'message, Worker>
where Worker: StateMachine + Pipe, Worker::In<'message>: StepInputOf<Worker, Outcome = Worker::Out<'message>>,

Source§

type Outcome = ContinuationCompletion<'message, Worker>

Source§

fn step(self, worker: &mut Worker) -> Self::Outcome

Auto Trait Implementations§

§

impl<'message, Worker> Freeze for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: Freeze, Owed<<Worker as Pipe>::In<'message>>: Freeze,

§

impl<'message, Worker> RefUnwindSafe for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: RefUnwindSafe, Owed<<Worker as Pipe>::In<'message>>: RefUnwindSafe,

§

impl<'message, Worker> Send for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: Send, Owed<<Worker as Pipe>::In<'message>>: Send,

§

impl<'message, Worker> Sync for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: Sync, Owed<<Worker as Pipe>::In<'message>>: Sync,

§

impl<'message, Worker> Unpin for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: Unpin, Owed<<Worker as Pipe>::In<'message>>: Unpin,

§

impl<'message, Worker> UnsafeUnpin for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: UnsafeUnpin, Owed<<Worker as Pipe>::In<'message>>: UnsafeUnpin,

§

impl<'message, Worker> UnwindSafe for ContinuationWork<'message, Worker>
where ContinuationId<Worker>: UnwindSafe, Owed<<Worker as Pipe>::In<'message>>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.