pub trait PairRule: Send + Sync {
// Required methods
fn descriptor(&self) -> PairDescriptor;
fn propose(
&self,
view: &dyn EngineView,
data: &dyn DataAccess,
) -> BinocResult<PairOutput>;
// Provided methods
fn final_diagnostics(
&self,
_view: &dyn EngineView,
_data: &dyn DataAccess,
) -> BinocResult<Vec<Diagnostic>> { ... }
fn final_claims(
&self,
_view: &dyn EngineView,
_data: &dyn DataAccess,
) -> BinocResult<Vec<GlobalClaim>> { ... }
}Required Methods§
fn descriptor(&self) -> PairDescriptor
fn propose( &self, view: &dyn EngineView, data: &dyn DataAccess, ) -> BinocResult<PairOutput>
Provided Methods§
fn final_diagnostics( &self, _view: &dyn EngineView, _data: &dyn DataAccess, ) -> BinocResult<Vec<Diagnostic>>
Sourcefn final_claims(
&self,
_view: &dyn EngineView,
_data: &dyn DataAccess,
) -> BinocResult<Vec<GlobalClaim>>
fn final_claims( &self, _view: &dyn EngineView, _data: &dyn DataAccess, ) -> BinocResult<Vec<GlobalClaim>>
Global, non-tree claims this rule asserts about the final settled link
graph (CFM-72). Called once after saturation, like
final_diagnostics; the engine collects the
result into Changeset.claims. A rule that reshapes the link set into a
split/merge fan-out reports the claim here so the assertion is produced
once, from the converged state, rather than re-emitted every round.