Skip to main content

ChildInputIngress

Trait ChildInputIngress 

Source
pub trait ChildInputIngress<Source, Input>: Sized {
    // Required methods
    fn child_input(input: Input) -> Self;
    fn recover_child_input(event: Self) -> Result<Input, Self>;
}
Expand description

Construction of one private input sent by an established parent to its concrete direct child.

This is the event-side contract of ChildInput. It is deliberately distinct from EventIngress, which selects a parent event for an incoming child report or a same-actor owner input. Keeping the two directions distinct lets a report-owning behavior transformation preserve every inner child-input capability without knowing its source or payload.

Source identifies the behavior law that owns Input; it is neither an actor address nor runtime lookup key. Constructing the event performs no delivery or other actor effect.

Required Methods§

Source

fn child_input(input: Input) -> Self

Construct the concrete child event selected by Source and Input.

Source

fn recover_child_input(event: Self) -> Result<Input, Self>

Recover the original input from this port’s selected event lane.

Recovering an event constructed by child_input must return its exact original input. A foreign event is returned complete and unchanged.

§Errors

Returns the complete original event when it belongs to another lane.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<Owned, Inner, Source, Input> ChildInputIngress<Source, Input> for EventLayer<Owned, Inner>
where Inner: ChildInputIngress<Source, Input>,