pub struct BeginActivation<W, P>{ /* private fields */ }Expand description
One activation request consuming an initialized worker permit and plan.
ⓘ
fn duplicate<W, P>(request: behavior_actors::atomic::BeginActivation<W, P>)
where
W: behavior::Behavior,
behavior::BehaviorAddr<W>: behavior::EndpointAddress,
P: behavior_actors::atomic::ActivationPlan,
{
let _accepted = request;
let _duplicate = request;
}Implementations§
Source§impl<W, P> BeginActivation<W, P>
impl<W, P> BeginActivation<W, P>
Sourcepub fn new(plan: P, permit: ActivationPermit<W>) -> Self
pub fn new(plan: P, permit: ActivationPermit<W>) -> Self
Consume the successful initialization authority and concrete plan.
Sourcepub fn into_parts(self) -> (ActivationPermit<W>, P, WorkerActivationGrant<W, P>)
pub fn into_parts(self) -> (ActivationPermit<W>, P, WorkerActivationGrant<W, P>)
Transfer original permit/plan and its exact typed grant independently.
Sourcepub fn target(&self) -> EstablishedRecipient<W::Protocol>
pub fn target(&self) -> EstablishedRecipient<W::Protocol>
Exact installed worker target carried by the permit.
Sourcepub fn worker(&self) -> WorkerAttempt
pub fn worker(&self) -> WorkerAttempt
Worker creation correlation authorized by the consumed permit.
Sourcepub fn initialization(&self) -> InitializationAttempt
pub fn initialization(&self) -> InitializationAttempt
Initialization correlation authorized by the consumed permit.
Sourcepub fn started(&self) -> WorkerActivation<W, P>
pub fn started(&self) -> WorkerActivation<W, P>
Produce the input Bombay must admit before polling the plan.
Sourcepub fn start_rejected(
self,
reason: ActivationStartRejection,
) -> WorkerActivation<W, P>
pub fn start_rejected( self, reason: ActivationStartRejection, ) -> WorkerActivation<W, P>
Return a request that its owner could not admit.
Sourcepub async fn activate(self) -> WorkerActivation<W, P>
pub async fn activate(self) -> WorkerActivation<W, P>
Consume the plan and produce its exact ready or rejected input.
Trait Implementations§
Source§impl<W, P> ActionItem for BeginActivation<W, P>where
W: Behavior,
BehaviorAddr<W>: EndpointAddress,
EstablishedRecipient<W::Protocol>: Send,
P: ActivationPlan,
impl<W, P> ActionItem for BeginActivation<W, P>where
W: Behavior,
BehaviorAddr<W>: EndpointAddress,
EstablishedRecipient<W::Protocol>: Send,
P: ActivationPlan,
type Custody = (Option<BeginActivation<W, P>>, Option<<BeginActivation<W, P> as ActionItem>::Reply>)
type Input<'a> = &'a mut Option<BeginActivation<W, P>> where Self: 'a
type Reply = ItemSettlement<BeginActivation<W, P>, <BeginActivation<W, P> as ActionItem>::Accepted, <BeginActivation<W, P> as ActionItem>::Rejection, <BeginActivation<W, P> as ActionItem>::Prerequisite>
type Accepted = ()
type Rejection = ActivationStartRejection
type Prerequisite = Never
fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, Self::Reply>>, )
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, Self::Reply>>, )
Source§impl<W, P> InterpreterRequest for BeginActivation<W, P>
impl<W, P> InterpreterRequest for BeginActivation<W, P>
type ReturnToEmitter = ReturnsToEmitter<WorkerActivation<W, P>, Here>
type LogicalProtocols = NoBirthProtocols
Auto Trait Implementations§
impl<W, P> Freeze for BeginActivation<W, P>
impl<W, P> RefUnwindSafe for BeginActivation<W, P>where
<<W as Behavior>::Protocol as Protocol>::Addr: Sized,
P: RefUnwindSafe,
<<<W as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<<W as Behavior>::Protocol>: RefUnwindSafe,
impl<W, P> Send for BeginActivation<W, P>
impl<W, P> Sync for BeginActivation<W, P>
impl<W, P> Unpin for BeginActivation<W, P>
impl<W, P> UnsafeUnpin for BeginActivation<W, P>where
<<W as Behavior>::Protocol as Protocol>::Addr: Sized,
P: UnsafeUnpin,
<<<W as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<<W as Behavior>::Protocol>: UnsafeUnpin,
impl<W, P> UnwindSafe for BeginActivation<W, P>where
<<W as Behavior>::Protocol as Protocol>::Addr: Sized,
P: UnwindSafe,
<<<W as Behavior>::Protocol as Protocol>::Addr as EndpointAddress>::Established<<W as Behavior>::Protocol>: 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