pub struct Proxy<C: Behavior<Ph = Never>> { /* private fields */ }Expand description
The stable actor. Every replacement is an ordinary fresh birth beneath it.
Each emitted worker birth is paired with an ObserveChild request. A
matching [ChildStopped] leaves the proxy alive and emits a
ReportWorkerStopped carrying the outcome unchanged. Stale child-stop
observations are inert.
Implementations§
Trait Implementations§
Source§impl<C> Behavior for Proxy<C>
impl<C> Behavior for Proxy<C>
type Addr = <C as Behavior>::Addr
type Msg = ProxyCommand<C>
type Event = SupervisionEvent<User<<C as Behavior>::Addr, ProxyCommand<C>>, <C as Behavior>::Addr>
type Sends = SendProduct<Vec<Delivery<<C as Behavior>::Addr, <C as Behavior>::Msg>>, SendProduct<ServiceSends<ObserveChild<<C as Behavior>::Addr>>, ServiceSends<ReportWorkerStopped<<C as Behavior>::Addr>>>>
type Ph = Never
type Error = Never
type Birth = Births<C>
async fn init( &mut self, ) -> Result<Actions<C::Addr, Never, Self::Sends, Births<C>>, Never>
async fn step( &mut self, event: Self::Event, ) -> Result<Actions<C::Addr, Never, Self::Sends, Births<C>>, Never>
Auto Trait Implementations§
impl<C> Freeze for Proxy<C>where
C: Freeze,
impl<C> RefUnwindSafe for Proxy<C>where
C: RefUnwindSafe,
impl<C> Send for Proxy<C>where
C: Send,
impl<C> Sync for Proxy<C>where
C: Sync,
impl<C> Unpin for Proxy<C>where
C: Unpin,
impl<C> UnsafeUnpin for Proxy<C>where
C: UnsafeUnpin,
impl<C> UnwindSafe for Proxy<C>where
C: 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