pub struct AssignWorker<P, Job>{ /* private fields */ }Expand description
One exact direct-worker delivery whose complete settlement returns to its pool.
Implementations§
Source§impl<P, Job> AssignWorker<P, Job>
impl<P, Job> AssignWorker<P, Job>
Sourcepub fn target(&self) -> EstablishedRecipient<P>
pub fn target(&self) -> EstablishedRecipient<P>
Return a clone of the exact worker recipient selected by the pool. The assignment and its accepted receipt remain inside this request.
Sourcepub async fn settle<Host, RootEvent, Path>(
progress: &mut Option<InterpretationProgress<Self, <Self as ActionItem>::Custody, ItemSettlement<Self, AssignmentReceipt, ExactDeliveryReason, Never>>>,
host: &mut Host,
)where
Host: InterpretItem<EstablishedDelivery<P>, RootEvent, Path>,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
pub async fn settle<Host, RootEvent, Path>(
progress: &mut Option<InterpretationProgress<Self, <Self as ActionItem>::Custody, ItemSettlement<Self, AssignmentReceipt, ExactDeliveryReason, Never>>>,
host: &mut Host,
)where
Host: InterpretItem<EstablishedDelivery<P>, RootEvent, Path>,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
Attempt the lower worker delivery while the complete request or partial assignment receipt remains in the caller’s original interpretation slot.
Trait Implementations§
Source§impl<P, Job> ActionItem for AssignWorker<P, Job>where
P: Protocol<Msg = Assignment<Job>>,
P::Addr: RecipientAddress,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
impl<P, Job> ActionItem for AssignWorker<P, Job>where
P: Protocol<Msg = Assignment<Job>>,
P::Addr: RecipientAddress,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
type Custody = (AssignmentReceipt, (Option<EstablishedDelivery<P>>, Option<<AssignWorker<P, Job> as ActionItem>::Reply>))
type Input<'a> = &'a mut Option<EstablishedDelivery<P>> where Self: 'a
type Reply = ItemSettlement<EstablishedDelivery<P>, (), ExactDeliveryReason, Never>
type Accepted = AssignmentReceipt
type Rejection = ExactDeliveryReason
type Prerequisite = Never
fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, ItemSettlement<Self, Self::Accepted, Self::Rejection, Self::Prerequisite>>>, )
fn interpretation_input<'a>(
custody: &'a mut Self::Custody,
) -> Option<(Self::Input<'a>, &'a mut Option<Self::Reply>)>where
Self: 'a,
fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, ItemSettlement<Self, Self::Accepted, Self::Rejection, Self::Prerequisite>>>, )
Source§impl<P, Job> SourceAction for AssignWorker<P, Job>where
P: Protocol<Msg = Assignment<Job>>,
P::Addr: RecipientAddress,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
impl<P, Job> SourceAction for AssignWorker<P, Job>where
P: Protocol<Msg = Assignment<Job>>,
P::Addr: RecipientAddress,
<P::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
Source§type Source = AssignWorker<P, Job>
type Source = AssignWorker<P, Job>
Actor-owned ingress selection for the result.
Auto Trait Implementations§
impl<P, Job> Freeze for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: Freeze,
Job: Freeze,
impl<P, Job> RefUnwindSafe for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: RefUnwindSafe,
Job: RefUnwindSafe,
impl<P, Job> Send for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: Send,
Job: Send,
impl<P, Job> Sync for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: Sync,
Job: Sync,
impl<P, Job> Unpin for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: Unpin,
Job: Unpin,
impl<P, Job> UnsafeUnpin for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: UnsafeUnpin,
Job: UnsafeUnpin,
impl<P, Job> UnwindSafe for AssignWorker<P, Job>where
<P as Protocol>::Addr: Sized,
<<P as Protocol>::Addr as RecipientAddress>::Established<P>: UnwindSafe,
Job: UnwindSafe,
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