pub struct SendLayer<Owned, Inner> {
pub owned: Owned,
pub inner: Inner,
}Expand description
Send effects introduced by one wrapper around inner send effects.
owned contains effects introduced by the current behavior layer and
inner contains effects of the wrapped interaction. The structural
SendsFor implementation is the composition law:
Event' = OwnedEvent + InnerEvent
Effects' = OwnedEffects × InnerEffectsOwned return to the emitters target Event'; inner return to the emitters target
InnerEvent and are therefore lifted through the same Inner injection.
Established actor, child, and ancestor destinations are unaffected because
they are not return to the emitters.
Fields§
§owned: Owned§inner: InnerImplementations§
Trait Implementations§
impl<Owned: Copy, Inner: Copy> Copy for SendLayer<Owned, Inner>
impl<Owned: Eq, Inner: Eq> Eq for SendLayer<Owned, Inner>
Source§impl<Interpreter, RootEvent, Path, Owned, Inner> InterpretSends<Interpreter, RootEvent, Path> for SendLayer<Owned, Inner>where
Interpreter: SendInterpreter + Send,
Owned: InterpretSends<Interpreter, RootEvent, Path> + Send,
Inner: InterpretSends<Interpreter, RootEvent, Inside<Path>> + Send,
impl<Interpreter, RootEvent, Path, Owned, Inner> InterpretSends<Interpreter, RootEvent, Path> for SendLayer<Owned, Inner>where
Interpreter: SendInterpreter + Send,
Owned: InterpretSends<Interpreter, RootEvent, Path> + Send,
Inner: InterpretSends<Interpreter, RootEvent, Inside<Path>> + Send,
Source§fn interpret(
self,
interpreter: &mut Interpreter,
) -> impl Future<Output = Result<(), Interpreter::Error>> + Send
fn interpret( self, interpreter: &mut Interpreter, ) -> impl Future<Output = Result<(), Interpreter::Error>> + Send
Interpret every value in this product in its defined structural order.
The returned future completes each effect before beginning the next, so
an asynchronous delivery can wait for bounded-mailbox capacity without
reordering later effects or converting pressure into rejection. Read more
Source§impl<Owned: SendEffects, Inner: SendEffects> SendEffects for SendLayer<Owned, Inner>
impl<Owned: SendEffects, Inner: SendEffects> SendEffects for SendLayer<Owned, Inner>
Source§impl<Input, Path, Owned, Inner> SendInput<Input, Path> for SendLayer<Owned, Inner>where
Owned: SendInput<Input, Path>,
impl<Input, Path, Owned, Inner> SendInput<Input, Path> for SendLayer<Owned, Inner>where
Owned: SendInput<Input, Path>,
impl<Event, OwnedEffects, InnerEffects> SendsFor<Event> for SendLayer<OwnedEffects, InnerEffects>
impl<Owned: PartialEq, Inner: PartialEq> StructuralPartialEq for SendLayer<Owned, Inner>
Auto Trait Implementations§
impl<Owned, Inner> Freeze for SendLayer<Owned, Inner>
impl<Owned, Inner> RefUnwindSafe for SendLayer<Owned, Inner>where
Owned: RefUnwindSafe,
Inner: RefUnwindSafe,
impl<Owned, Inner> Send for SendLayer<Owned, Inner>
impl<Owned, Inner> Sync for SendLayer<Owned, Inner>
impl<Owned, Inner> Unpin for SendLayer<Owned, Inner>
impl<Owned, Inner> UnsafeUnpin for SendLayer<Owned, Inner>where
Owned: UnsafeUnpin,
Inner: UnsafeUnpin,
impl<Owned, Inner> UnwindSafe for SendLayer<Owned, Inner>where
Owned: UnwindSafe,
Inner: 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