pub struct NoFanout;Expand description
The headless fan-out: accepts pushes by dropping them, commits trivially. What a
consumer that applies a foreign CDC stream with no derivation composes with —
rindle-backup-sqlite’s portable replay, an external SQLite-mirroring consumer.
tx_begin never fails, so the Failed arms of the transaction machinery are
structurally unreachable headless.
Trait Implementations§
Source§impl CommitFanout for NoFanout
impl CommitFanout for NoFanout
Source§fn tx_begin(&self, tx_id: u64) -> StreamBegin
fn tx_begin(&self, tx_id: u64) -> StreamBegin
Open the fan-out for transaction
tx_id (the post-(N-1) → N cursor). A send,
not a wait (follow-ups/cluster-barrier-wakeup.md §6.1): the observer pins its
pre-commit state concurrently with the caller’s remaining statements, and the
caller collects the confirmation at the commit edge
(FanoutStream::await_acks — the fence). Ready ⇒ stream chunks and finish;
Failed ⇒ the observer was unreachable at send — the caller must NOT commit: it
finishes the returned stream with an abort and fails the write (see
ApplyTxn::commit_with_info).Source§fn recover_failed_begin(&self)
fn recover_failed_begin(&self)
Repair after a
Failed begin at commit time (the live pool reaps + respawns the
offending worker so the caller’s retry can succeed). Headless: nothing to repair.Auto Trait Implementations§
impl Freeze for NoFanout
impl RefUnwindSafe for NoFanout
impl Send for NoFanout
impl Sync for NoFanout
impl Unpin for NoFanout
impl UnsafeUnpin for NoFanout
impl UnwindSafe for NoFanout
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