Skip to main content

SimilarityProvider

Trait SimilarityProvider 

Source
pub trait SimilarityProvider:
    Send
    + Sync
    + 'static {
    // Required method
    fn result_name(
        &self,
        node: &SimilaritySessionNode,
        entity: SimilarityEntityId,
        result: SimilarityResultId,
    ) -> Option<String>;

    // Provided methods
    fn update_settings(&self, _settings: &Settings) -> bool { ... }
    fn visit_node(
        &self,
        _node: &SimilaritySessionNode,
        _results: &mut SimilarityProviderResults<'_>,
        _completion: &SimilaritySessionCompletion,
    ) -> bool { ... }
    fn visit_node_edge(
        &self,
        _from: &SimilaritySessionNode,
        _to: &SimilaritySessionNode,
        _results: &mut SimilarityProviderResults<'_>,
        _completion: &SimilaritySessionCompletion,
    ) -> bool { ... }
    fn apply_result(
        &self,
        node: &SimilaritySessionNode,
        entity: SimilarityEntityId,
        result: SimilarityResultId,
    ) -> SimilarityApplyStatus { ... }
    fn render_result(
        &self,
        _node: &SimilaritySessionNode,
        _entity: SimilarityEntityId,
        _context: &SimilarityRenderContext,
        _result: SimilarityResultId,
    ) { ... }
}
Expand description

Produces and applies similarity results for session entities.

Visits made by a session keep the visited node and both edge endpoints active. Direct calls must provide active views.

Required Methods§

Source

fn result_name( &self, node: &SimilaritySessionNode, entity: SimilarityEntityId, result: SimilarityResultId, ) -> Option<String>

Returns the display name for a result.

Provided Methods§

Source

fn update_settings(&self, _settings: &Settings) -> bool

Replaces this provider’s settings only if they are valid.

Return false without changing the current settings when the new settings are invalid or updates are not supported. Use SimilaritySession::update_provider_settings so affected entities are scheduled again.

Source

fn visit_node( &self, _node: &SimilaritySessionNode, _results: &mut SimilarityProviderResults<'_>, _completion: &SimilaritySessionCompletion, ) -> bool

Visits the node’s scheduled entities and writes results for the node.

A successful visit replaces earlier results from this provider for scheduled entities. Results for unscheduled entities remain unchanged. Return false to discard the visit.

Source

fn visit_node_edge( &self, _from: &SimilaritySessionNode, _to: &SimilaritySessionNode, _results: &mut SimilarityProviderResults<'_>, _completion: &SimilaritySessionCompletion, ) -> bool

Visits an edge after both endpoint nodes have been visited and writes results for the edge.

Return false to discard the visit.

Source

fn apply_result( &self, node: &SimilaritySessionNode, entity: SimilarityEntityId, result: SimilarityResultId, ) -> SimilarityApplyStatus

Applies a result.

The default implementation performs the standard metadata transfer from the result target.

Source

fn render_result( &self, _node: &SimilaritySessionNode, _entity: SimilarityEntityId, _context: &SimilarityRenderContext, _result: SimilarityResultId, )

Adds views for a result to a render context.

Implementors§