pub struct ProxyOperation<Source, Worker, Plan>where
Worker: Behavior,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,{ /* private fields */ }Expand description
One exact private input to a stable-proxy child.
Implementations§
Source§impl<Source, Worker, Plan> ProxyOperation<Source, Worker, Plan>where
Worker: Behavior,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
impl<Source, Worker, Plan> ProxyOperation<Source, Worker, Plan>where
Worker: Behavior,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
Sourcepub const fn creation(&self) -> CreationId
pub const fn creation(&self) -> CreationId
Inspect the exact creator-local proxy creation correlation before attempting control admission. This is not an actor identity or proof that the proxy was installed.
Sourcepub fn settle<Host>(
progress: &mut Option<InterpretationProgress<Self, ProxyOperationCustody<Source, Worker, Plan>, ItemSettlement<Self, ProxyInputReceipt<Worker, Plan>, ChildInputReason, Never>>>,
host: &mut Host,
)where
Host: ProxyControlAdmission<Worker, Plan>,
pub fn settle<Host>(
progress: &mut Option<InterpretationProgress<Self, ProxyOperationCustody<Source, Worker, Plan>, ItemSettlement<Self, ProxyInputReceipt<Worker, Plan>, ChildInputReason, Never>>>,
host: &mut Host,
)where
Host: ProxyControlAdmission<Worker, Plan>,
Admit only the actual control while the caller retains the original creator correlation, operation authority, and acquired lower reply.
Trait Implementations§
Source§impl<Source, Worker, Plan> ActionItem for ProxyOperation<Source, Worker, Plan>where
Worker: Behavior + Send,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
<BehaviorAddr<Worker> as Address>::Nonce: Send,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
EstablishedActor<StableProxy<Worker, Plan>>: Send,
impl<Source, Worker, Plan> ActionItem for ProxyOperation<Source, Worker, Plan>where
Worker: Behavior + Send,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
<BehaviorAddr<Worker> as Address>::Nonce: Send,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
EstablishedActor<StableProxy<Worker, Plan>>: Send,
type Custody = ProxyOperationCustody<Source, Worker, Plan>
type Input<'a> = (CreationId, &'a mut Option<ProxyControl<Worker, Plan>>) where Self: 'a
type Reply = ItemSettlement<ProxyControl<Worker, Plan>, EstablishedActor<StableProxy<Worker, Plan>>, ChildInputReason, Never>
type Accepted = ProxyInputReceipt<Worker, Plan>
type Rejection = ChildInputReason
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<Source, Worker, Plan> SourceAction for ProxyOperation<Source, Worker, Plan>where
Worker: Behavior + Send,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
<BehaviorAddr<Worker> as Address>::Nonce: Send,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
EstablishedActor<StableProxy<Worker, Plan>>: Send,
impl<Source, Worker, Plan> SourceAction for ProxyOperation<Source, Worker, Plan>where
Worker: Behavior + Send,
Plan: ActivationPlan,
BehaviorAddr<Worker>: EndpointAddress,
<BehaviorAddr<Worker> as Address>::Nonce: Send,
StableProxy<Worker, Plan>: Behavior<Protocol = Worker::Protocol>,
EstablishedActor<StableProxy<Worker, Plan>>: Send,
Auto Trait Implementations§
impl<Source, Worker, Plan> Freeze for ProxyOperation<Source, Worker, Plan>
impl<Source, Worker, Plan> RefUnwindSafe for ProxyOperation<Source, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized,
Worker: RefUnwindSafe,
Plan: RefUnwindSafe,
impl<Source, Worker, Plan> Send for ProxyOperation<Source, Worker, Plan>
impl<Source, Worker, Plan> Sync for ProxyOperation<Source, Worker, Plan>
impl<Source, Worker, Plan> Unpin for ProxyOperation<Source, Worker, Plan>
impl<Source, Worker, Plan> UnsafeUnpin for ProxyOperation<Source, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized,
Worker: UnsafeUnpin,
Plan: UnsafeUnpin,
impl<Source, Worker, Plan> UnwindSafe for ProxyOperation<Source, Worker, Plan>where
<<Worker as Behavior>::Protocol as Protocol>::Addr: Sized,
Worker: UnwindSafe,
Plan: 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