pub struct TypedChain<F, D, Ops>where
F: RecFamily,{ /* private fields */ }Expand description
A concrete chain: deserializer + statically composed operator stack,
erased behind RunnableChain. Ops must accept the family’s record
type at every buffer lifetime — the HRTB is what makes borrowed records
legal behind the erased boundary.
Trait Implementations§
Source§impl<F, D, Ops> Debug for TypedChain<F, D, Ops>where
F: RecFamily,
impl<F, D, Ops> Debug for TypedChain<F, D, Ops>where
F: RecFamily,
Source§impl<F, D, Ops> RunnableChain for TypedChain<F, D, Ops>where
F: RecFamily,
D: Deserializer<F>,
Ops: for<'buf> Collector<<F as RecFamily>::Rec<'buf>> + StageLifecycle + Send,
impl<F, D, Ops> RunnableChain for TypedChain<F, D, Ops>where
F: RecFamily,
D: Deserializer<F>,
Ops: for<'buf> Collector<<F as RecFamily>::Rec<'buf>> + StageLifecycle + Send,
Source§fn push_batch<'buf>(
&mut self,
batch: &mut dyn PayloadBatch<'buf>,
from: usize,
) -> PushOutcome
fn push_batch<'buf>( &mut self, batch: &mut dyn PayloadBatch<'buf>, from: usize, ) -> PushOutcome
Push payloads
from.. of batch through the chain.Source§fn flush(&mut self) -> PushOutcome
fn flush(&mut self) -> PushOutcome
Flush terminal-stage state (parked records, partial encoder
buffers) downstream. Called by the driver on drain, on linger
deadlines, and before commit ticks.
Source§fn abandon_batch(&mut self)
fn abandon_batch(&mut self)
Discard any per-batch replay/resume state after the driver failed the
current batch’s acknowledgement (a shutdown-time abandonment of a
batch blocked mid-push). Terminal parked chunks — which carry their
own acks — are unaffected; only the chain’s own mid-batch cursor and
any stashed not-ready payload are cleared, so the next
push_batch of
a fresh batch starts clean instead of tripping the resume-cursor
asserts or replaying the stale payload under the new batch’s ack. Read moreAuto Trait Implementations§
impl<F, D, Ops> Freeze for TypedChain<F, D, Ops>
impl<F, D, Ops> !RefUnwindSafe for TypedChain<F, D, Ops>
impl<F, D, Ops> Send for TypedChain<F, D, Ops>
impl<F, D, Ops> Sync for TypedChain<F, D, Ops>
impl<F, D, Ops> Unpin for TypedChain<F, D, Ops>
impl<F, D, Ops> UnsafeUnpin for TypedChain<F, D, Ops>where
D: UnsafeUnpin,
Ops: UnsafeUnpin,
impl<F, D, Ops> !UnwindSafe for TypedChain<F, D, Ops>
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