pub struct JoinPrecheckBounds {
pub per_join: Option<usize>,
pub per_graph: usize,
}Expand description
The two bounds of the join membership pre-check (design 311 §2.5), host-settable via
Graph::set_join_precheck_bounds.
Every approximation the pre-check makes errs toward fetching: a join whose parent
key set would cross per_join distinct keys, or whose keys would push the graph’s
total past per_graph, drops its set and falls back to today’s fetch for the rest of
its life. So the bounds cap memory, never correctness — O(registered regions), not
O(data) (§6).
Fields§
§per_join: Option<usize>Distinct parent keys one join may track; None turns the pre-check off
graph-wide (no observation, no maintenance, no probe — today’s path byte for byte).
per_graph: usizeTotal distinct keys tracked across every join in the graph. Many joins each near their own bound cannot compound past this.
Implementations§
Source§impl JoinPrecheckBounds
impl JoinPrecheckBounds
Sourcepub const DEFAULT_PER_JOIN: usize = 4096
pub const DEFAULT_PER_JOIN: usize = 4096
The per-join bound the design suggests for the daemon (~400 KB worst case per join).
Sourcepub const DEFAULT_PER_GRAPH: usize = 65_536
pub const DEFAULT_PER_GRAPH: usize = 65_536
The per-graph budget the design suggests for the daemon (~6.5 MB worst case).
Sourcepub const OFF: JoinPrecheckBounds
pub const OFF: JoinPrecheckBounds
Pre-check off — today’s path byte for byte (no observation, no maintenance, no
probe). The S1 default of every Graph until S2 flipped it (design 311 §9); the
daemon’s joinPrecheckPerJoin: 0 and the test/testkit/debug-build
RINDLE_JOIN_PRECHECK=off both land here.
Sourcepub const ON: JoinPrecheckBounds
pub const ON: JoinPrecheckBounds
Pre-check on at the design’s suggested bounds (4096 / 65 536).
Trait Implementations§
Source§impl Clone for JoinPrecheckBounds
impl Clone for JoinPrecheckBounds
Source§fn clone(&self) -> JoinPrecheckBounds
fn clone(&self) -> JoinPrecheckBounds
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for JoinPrecheckBounds
impl Debug for JoinPrecheckBounds
Source§impl Default for JoinPrecheckBounds
impl Default for JoinPrecheckBounds
Source§fn default() -> Self
fn default() -> Self
JoinPrecheckBounds::ON — design 311 §9 S2 (2026-09-02): every Graph starts
with the pre-check on at the daemon bounds, so every operator, parity, oracle and
fuzz lane exercises it without naming it. OFF is one
Graph::set_join_precheck_bounds call away (the daemon’s joinPrecheckPerJoin: 0).