Skip to main content

PairRule

Trait PairRule 

Source
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§

Source

fn descriptor(&self) -> PairDescriptor

Source

fn propose( &self, view: &dyn EngineView, data: &dyn DataAccess, ) -> BinocResult<PairOutput>

Provided Methods§

Source

fn final_diagnostics( &self, _view: &dyn EngineView, _data: &dyn DataAccess, ) -> BinocResult<Vec<Diagnostic>>

Source

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.

Implementors§