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§
Sourcefn result_name(
&self,
node: &SimilaritySessionNode,
entity: SimilarityEntityId,
result: SimilarityResultId,
) -> Option<String>
fn result_name( &self, node: &SimilaritySessionNode, entity: SimilarityEntityId, result: SimilarityResultId, ) -> Option<String>
Returns the display name for a result.
Provided Methods§
Sourcefn update_settings(&self, _settings: &Settings) -> bool
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.
Sourcefn visit_node(
&self,
_node: &SimilaritySessionNode,
_results: &mut SimilarityProviderResults<'_>,
_completion: &SimilaritySessionCompletion,
) -> bool
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.
Sourcefn visit_node_edge(
&self,
_from: &SimilaritySessionNode,
_to: &SimilaritySessionNode,
_results: &mut SimilarityProviderResults<'_>,
_completion: &SimilaritySessionCompletion,
) -> bool
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.
Sourcefn apply_result(
&self,
node: &SimilaritySessionNode,
entity: SimilarityEntityId,
result: SimilarityResultId,
) -> SimilarityApplyStatus
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.
Sourcefn render_result(
&self,
_node: &SimilaritySessionNode,
_entity: SimilarityEntityId,
_context: &SimilarityRenderContext,
_result: SimilarityResultId,
)
fn render_result( &self, _node: &SimilaritySessionNode, _entity: SimilarityEntityId, _context: &SimilarityRenderContext, _result: SimilarityResultId, )
Adds views for a result to a render context.