Expand description
v2.3 CDC feed layer over crate::source::ReplicationSource —
the (generation, offset) cursor semantics the public FEED.* /
changes_since surfaces speak.
Cursor contract (RFC 2026-07-04, LOCKED):
generationidentifies one unbroken offset history. A given(gen, offset)pair refers to the same stream prefix forever.- Clean shutdown + restart preserves both (continuity); FLUSHALL,
restore-from-snapshot, or an unclean shutdown bumps
genand resetsoffsetto 0. - A cursor the backlog can no longer serve (older generation, or
evicted offsets) answers
FeedRead::Resynccarrying the current tail — the consumer rebuilds (SCAN) and resumes from there.
Structs§
- Feed
Frame - One decoded feed entry: the offset plus the frame’s wire bytes
(envelope + offset + RESP argv — same encoding replicas consume;
[
crate::replica_decode] parses it). - Feed
Source - Generation-aware wrapper: owns the generation number alongside the
backlog. The runtime persists
generationviakevy-persist’s feed sidecars; this type only holds the in-memory value.
Enums§
- Feed
Read - Why a feed read could not be served from the backlog.