Skip to main content

Module feed

Module feed 

Source
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):

  • generation identifies 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 gen and resets offset to 0.
  • A cursor the backlog can no longer serve (older generation, or evicted offsets) answers FeedRead::Resync carrying the current tail — the consumer rebuilds (SCAN) and resumes from there.

Structs§

FeedFrame
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).
FeedSource
Generation-aware wrapper: owns the generation number alongside the backlog. The runtime persists generation via kevy-persist’s feed sidecars; this type only holds the in-memory value.

Enums§

FeedRead
Why a feed read could not be served from the backlog.