Skip to main content

EdgeResolver

Trait EdgeResolver 

Source
pub trait EdgeResolver:
    Send
    + Sync
    + 'static {
    // Required method
    fn resolve(
        &self,
        scope: &Scope,
        edge: Edge,
    ) -> impl Future<Output = Result<EdgeResolution, EdgeError>> + Send;
}
Expand description

Reconciles a new edge against the graph’s existing edges.

Implementations decide which existing edges a new one invalidates (if any) and return the EdgeResolution the commit path applies. Swapping one implementation for another (naive-append, temporal-invalidate) requires no caller change, which is what lets the benchmark compare them.

Required Methods§

Source

fn resolve( &self, scope: &Scope, edge: Edge, ) -> impl Future<Output = Result<EdgeResolution, EdgeError>> + Send

Resolves edge within scope against existing edges.

§Errors

Returns EdgeError::Catalog when reading existing edges fails.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§