pub struct DeferralStats {
pub root_bounds: Vec<RootBound>,
pub deferred: u64,
pub resumed: u64,
pub converged: u64,
pub dropped: Vec<DroppedGraph>,
pub progressed: u64,
pub stalled: u64,
pub held_back: u64,
pub backed_off: u64,
pub waiting: u64,
pub idle_counted: u64,
}Expand description
What a sync did with deferred graphs (bsv-low #555).
Fields§
§root_bounds: Vec<RootBound>Per-pass work limits that stopped a root.
deferred: u64Graphs deferred (a new record, or a resumed one deferred again).
resumed: u64Graphs resumed from a record.
converged: u64Resumed graphs that completed and landed (their record deleted).
dropped: Vec<DroppedGraph>Partial walks dropped or reset without converging.
progressed: u64Walks of the sync that ended unfinished (deferred, or dropped at a bound) having appended at least one node in their pass, or that completed the graph (the lens fold’s H1): the peer answered.
stalled: u64Walks of the sync that ended unfinished having appended NO node in their pass (a hung or failing peer; the lens fold’s H1). A sync whose only outcome was these is a FAILED attempt for #302’s quarantine.
held_back: u64Records NOT resumed this sync because the resumes of the pass had spent their shared budget (the lens fold’s M1); held, untouched, for the next sync.
backed_off: u64Records sent to the long backoff by this sync (engine 0.1.10): their
resume appended no node IDLE_RESUMES_BEFORE_BACKOFF passes in a
row.
waiting: u64Records NOT resumed by this sync because they wait out that backoff (no request at all; the cursor passes them).
idle_counted: u64Records whose resumed pass this sync counted one idle resume on (engine 0.1.11): it asked and appended nothing it kept, whatever its ending (a save, a drop, an error). A record a strike counted instead is not among them.