pub struct RoutedSplit<DF: RecFamily, CurF: RecFamily, D, P, G> { /* private fields */ }Expand description
A split-terminated chain, ready to build. Not Clone —
the branches are built once; stamp identical per-thread chains by
re-running the chains factory closure (as the pipeline builder does).
Implementations§
Source§impl<DF, CurF, D, P, G> RoutedSplit<DF, CurF, D, P, G>where
DF: RecFamily,
CurF: RecFamily,
D: Deserializer<DF> + 'static,
G: for<'buf> FnMut(CurF::Rec<'buf>, &mut SplitEmitter<'_>) + Send + 'static,
P: Assemble<SplitTerminal<CurF, G>>,
P::Out: for<'buf> Collector<<DF as RecFamily>::Rec<'buf>> + StageLifecycle + Send + 'static,
impl<DF, CurF, D, P, G> RoutedSplit<DF, CurF, D, P, G>where
DF: RecFamily,
CurF: RecFamily,
D: Deserializer<DF> + 'static,
G: for<'buf> FnMut(CurF::Rec<'buf>, &mut SplitEmitter<'_>) + Send + 'static,
P: Assemble<SplitTerminal<CurF, G>>,
P::Out: for<'buf> Collector<<DF as RecFamily>::Rec<'buf>> + StageLifecycle + Send + 'static,
Sourcepub fn build(self) -> Box<dyn RunnableChain>
pub fn build(self) -> Box<dyn RunnableChain>
Build one chain instance whose terminal is the split sink.
Trait Implementations§
Auto Trait Implementations§
impl<DF, CurF, D, P, G> !RefUnwindSafe for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> !Sync for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> !UnwindSafe for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> Freeze for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> Send for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> Unpin for RoutedSplit<DF, CurF, D, P, G>
impl<DF, CurF, D, P, G> UnsafeUnpin for RoutedSplit<DF, CurF, D, P, G>
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