Skip to main content

ff_backend_postgres/reconcilers/
mod.rs

1//! Postgres-backend scanner reconcilers (RFC-v0.7 Wave 6).
2//!
3//! These modules implement the Postgres twins of the Valkey scanners
4//! in `ff-engine::scanner::*`. Each reconciler is a single
5//! `reconcile_tick(pool, filter, ...)` function the engine's scanner
6//! task drives on a fixed interval.
7//!
8//! Wave 6a ships the dependency reconciler — the backstop for the
9//! per-hop-tx dispatch cascade from Wave 5a.
10
11pub mod attempt_timeout;
12pub mod budget_reset;
13pub mod dependency;
14pub mod edge_cancel_dispatcher;
15pub mod edge_cancel_reconciler;
16pub mod lease_expiry;
17pub mod suspension_timeout;
18
19/// Result of scanning one partition. Mirrors
20/// [`ff_engine::scanner::ScanResult`] so engine-side aggregation code
21/// stays identical across backends; kept here (not re-exported from
22/// ff-engine) so `ff-backend-postgres` does not take a dep on the
23/// engine crate. The engine's `scan_tick_pg` wrapper maps one to the
24/// other.
25#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
26pub struct ScanReport {
27    pub processed: u32,
28    pub errors: u32,
29}