pub struct FlatMap<OutF, G, N>where
OutF: RecFamily,{ /* private fields */ }Expand description
flat_map: one record in, 0..N out via a stack-borrowed Emitter.
Carries the output family as a type parameter so the impl is fully
constrained (closure argument types are not associated bindings).
Trait Implementations§
Source§impl<OutF, G, N> StageLifecycle for FlatMap<OutF, G, N>where
OutF: RecFamily,
N: StageLifecycle,
impl<OutF, G, N> StageLifecycle for FlatMap<OutF, G, N>where
OutF: RecFamily,
N: StageLifecycle,
Source§fn on_batch_end(&mut self, elapsed: Duration)
fn on_batch_end(&mut self, elapsed: Duration)
Flush per-batch metric accumulators.
elapsed is the chain-level
batch duration: per-stage attribution inside one inlined loop is
not measurable without per-record clocks, so every stage reports
the chain figure, keeping the histograms comparable.Source§fn take_fatal(&mut self) -> Option<FatalError>
fn take_fatal(&mut self) -> Option<FatalError>
Take the first fatal error recorded by any stage.
Source§fn relieve(&mut self) -> Flow
fn relieve(&mut self) -> Flow
Let the terminal stage drain parked output.
Flow::Blocked means
it is still backed up and the chain must not accept new payloads.Source§fn flush_terminal(&mut self) -> Flow
fn flush_terminal(&mut self) -> Flow
Seal and hand off all terminal buffers, partial chunks included.
Flow::Blocked means not everything could be sent; retry later.Auto Trait Implementations§
impl<OutF, G, N> Freeze for FlatMap<OutF, G, N>
impl<OutF, G, N> !RefUnwindSafe for FlatMap<OutF, G, N>
impl<OutF, G, N> Send for FlatMap<OutF, G, N>
impl<OutF, G, N> Sync for FlatMap<OutF, G, N>
impl<OutF, G, N> Unpin for FlatMap<OutF, G, N>
impl<OutF, G, N> UnsafeUnpin for FlatMap<OutF, G, N>where
G: UnsafeUnpin,
N: UnsafeUnpin,
impl<OutF, G, N> !UnwindSafe for FlatMap<OutF, G, N>
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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