pub struct JoinBuilder<O, R: Spawn + 'static> { /* private fields */ }Expand description
Type-erased input descriptor for joins.
Each input captures a subscribe-and-forward function that, given the AimDb handle,
subscribes to the input buffer and forwards typed values as JoinTrigger into a
shared mpsc::UnboundedSender.
Configures a multi-input join transform.
Created by RecordRegistrar::transform_join_raw(). Add inputs with .input(),
then set state and handler with .with_state().on_trigger().
Implementations§
Source§impl<O, R> JoinBuilder<O, R>
impl<O, R> JoinBuilder<O, R>
Sourcepub fn input<I>(self, key: impl RecordKey) -> Self
pub fn input<I>(self, key: impl RecordKey) -> Self
Add a typed input to the join.
The input index corresponds to the order of .input() calls,
starting from 0.
Sourcepub fn with_state<S: Send + Sync + 'static>(
self,
initial: S,
) -> JoinStateBuilder<O, S, R>
pub fn with_state<S: Send + Sync + 'static>( self, initial: S, ) -> JoinStateBuilder<O, S, R>
Set the join state and begin configuring the trigger handler.
Auto Trait Implementations§
impl<O, R> Freeze for JoinBuilder<O, R>
impl<O, R> !RefUnwindSafe for JoinBuilder<O, R>
impl<O, R> Send for JoinBuilder<O, R>where
O: Send,
impl<O, R> Sync for JoinBuilder<O, R>where
O: Sync,
impl<O, R> Unpin for JoinBuilder<O, R>
impl<O, R> UnsafeUnpin for JoinBuilder<O, R>
impl<O, R> !UnwindSafe for JoinBuilder<O, R>
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