RemoteKnowledgeProvider

Trait RemoteKnowledgeProvider 

Source
pub trait RemoteKnowledgeProvider: Send + Sync {
    // Required methods
    fn query_predicate<'life0, 'async_trait>(
        &'life0 self,
        request: QueryRequest,
    ) -> Pin<Box<dyn Future<Output = Result<QueryResponse, RemoteReasoningError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn discover_facts<'life0, 'async_trait>(
        &'life0 self,
        request: FactDiscoveryRequest,
    ) -> Pin<Box<dyn Future<Output = Result<FactDiscoveryResponse, RemoteReasoningError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn load_incremental<'life0, 'async_trait>(
        &'life0 self,
        request: IncrementalLoadRequest,
    ) -> Pin<Box<dyn Future<Output = Result<IncrementalLoadResponse, RemoteReasoningError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn resolve_goal<'life0, 'async_trait>(
        &'life0 self,
        request: GoalResolutionRequest,
    ) -> Pin<Box<dyn Future<Output = Result<GoalResolutionResponse, RemoteReasoningError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_available_peers<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RemoteReasoningError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Trait for remote knowledge retrieval

Required Methods§

Source

fn query_predicate<'life0, 'async_trait>( &'life0 self, request: QueryRequest, ) -> Pin<Box<dyn Future<Output = Result<QueryResponse, RemoteReasoningError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Query a predicate from remote peers

Source

fn discover_facts<'life0, 'async_trait>( &'life0 self, request: FactDiscoveryRequest, ) -> Pin<Box<dyn Future<Output = Result<FactDiscoveryResponse, RemoteReasoningError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Discover facts across the network

Source

fn load_incremental<'life0, 'async_trait>( &'life0 self, request: IncrementalLoadRequest, ) -> Pin<Box<dyn Future<Output = Result<IncrementalLoadResponse, RemoteReasoningError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Load facts incrementally

Source

fn resolve_goal<'life0, 'async_trait>( &'life0 self, request: GoalResolutionRequest, ) -> Pin<Box<dyn Future<Output = Result<GoalResolutionResponse, RemoteReasoningError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Resolve a goal using remote peers

Source

fn get_available_peers<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RemoteReasoningError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get available peers for querying

Implementors§