Skip to main content

GraphReadRuntime

Trait GraphReadRuntime 

Source
pub trait GraphReadRuntime: Send + Sync {
    // Required methods
    fn activate_graph<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        seeds: &'life1 [MemoryId],
        mode: ActivationMode,
        ppr_config: Option<&'life2 PprConfig>,
        max_depth: u32,
        epsilon: f32,
        inhibition_mu: f32,
        delegation_threshold: usize,
        allowed_namespaces: Option<&'life3 [Namespace]>,
    ) -> Pin<Box<dyn Future<Output = HirnResult<GraphActivationOutput>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn causal_chain<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        start_ids: &'life1 [MemoryId],
        max_depth: u32,
        confidence_threshold: f32,
        delegation_threshold: usize,
        relation: EdgeRelation,
        allowed_namespaces: Option<&'life2 [Namespace]>,
    ) -> Pin<Box<dyn Future<Output = HirnResult<Vec<GraphCausalChainRow>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn traverse_graph<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        start_ids: &'life1 [MemoryId],
        max_depth: u32,
        delegation_threshold: usize,
        relation_filter: Option<&'life2 [EdgeRelation]>,
        allowed_namespaces: Option<&'life3 [Namespace]>,
    ) -> Pin<Box<dyn Future<Output = HirnResult<Vec<GraphTraverseRow>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
}

Required Methods§

Source

fn activate_graph<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, seeds: &'life1 [MemoryId], mode: ActivationMode, ppr_config: Option<&'life2 PprConfig>, max_depth: u32, epsilon: f32, inhibition_mu: f32, delegation_threshold: usize, allowed_namespaces: Option<&'life3 [Namespace]>, ) -> Pin<Box<dyn Future<Output = HirnResult<GraphActivationOutput>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn causal_chain<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, start_ids: &'life1 [MemoryId], max_depth: u32, confidence_threshold: f32, delegation_threshold: usize, relation: EdgeRelation, allowed_namespaces: Option<&'life2 [Namespace]>, ) -> Pin<Box<dyn Future<Output = HirnResult<Vec<GraphCausalChainRow>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn traverse_graph<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, start_ids: &'life1 [MemoryId], max_depth: u32, delegation_threshold: usize, relation_filter: Option<&'life2 [EdgeRelation]>, allowed_namespaces: Option<&'life3 [Namespace]>, ) -> Pin<Box<dyn Future<Output = HirnResult<Vec<GraphTraverseRow>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§