Skip to main content

ProxyOperation

Struct ProxyOperation 

Source
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>,

Source

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.

Source

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,

Source§

type Custody = ProxyOperationCustody<Source, Worker, Plan>

Source§

type Input<'a> = (CreationId, &'a mut Option<ProxyControl<Worker, Plan>>) where Self: 'a

Source§

type Reply = ItemSettlement<ProxyControl<Worker, Plan>, EstablishedActor<StableProxy<Worker, Plan>>, ChildInputReason, Never>

Source§

type Accepted = ProxyInputReceipt<Worker, Plan>

Source§

type Rejection = ChildInputReason

Source§

type Prerequisite = Never

Source§

fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, ItemSettlement<Self, Self::Accepted, Self::Rejection, Self::Prerequisite>>>, )

Source§

fn interpretation_input<'a>( custody: &'a mut Self::Custody, ) -> Option<(Self::Input<'a>, &'a mut Option<Self::Reply>)>
where Self: 'a,

Source§

fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::Custody, ItemSettlement<Self, Self::Accepted, Self::Rejection, Self::Prerequisite>>>, )

Source§

fn retain_accepted(_: Self::Accepted) -> Option<Self::Accepted>

Keep an accepted value only while it still carries terminal custody. Read more
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,

Source§

type Source = Source

Actor-owned ingress selection for the result.

Auto Trait Implementations§

§

impl<Source, Worker, Plan> Freeze for ProxyOperation<Source, Worker, Plan>
where <<Worker as Behavior>::Protocol as Protocol>::Addr: Sized, Worker: Freeze, Plan: Freeze,

§

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>
where <<Worker as Behavior>::Protocol as Protocol>::Addr: Sized, Worker: Send,

§

impl<Source, Worker, Plan> Sync for ProxyOperation<Source, Worker, Plan>
where <<Worker as Behavior>::Protocol as Protocol>::Addr: Sized, Worker: Sync, Plan: Sync,

§

impl<Source, Worker, Plan> Unpin for ProxyOperation<Source, Worker, Plan>
where <<Worker as Behavior>::Protocol as Protocol>::Addr: Sized, Worker: Unpin, Plan: Unpin,

§

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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.