Skip to main content

HostContextProvider

Trait HostContextProvider 

Source
pub trait HostContextProvider: Send + Sync {
    // Required methods
    fn create_context(
        &self,
        plugin_id: &str,
        capabilities: &ManifestCapabilities,
    ) -> HostFunctionContext;
    fn read(
        &self,
        ctx: &HostFunctionContext,
        table_id: u32,
        row_id: u64,
    ) -> HostCallResult;
    fn write(
        &self,
        ctx: &HostFunctionContext,
        table_id: u32,
        row_id: u64,
        data: &[u8],
    ) -> HostCallResult;
    fn vector_search(
        &self,
        ctx: &HostFunctionContext,
        index: &str,
        vector: &[f32],
        top_k: u32,
    ) -> HostCallResult;
    fn log(&self, ctx: &HostFunctionContext, level: u8, message: &str);
}
Expand description

Provider for host context (dependency injection)

Required Methods§

Source

fn create_context( &self, plugin_id: &str, capabilities: &ManifestCapabilities, ) -> HostFunctionContext

Create a host context for a plugin

Source

fn read( &self, ctx: &HostFunctionContext, table_id: u32, row_id: u64, ) -> HostCallResult

Execute a read operation

Source

fn write( &self, ctx: &HostFunctionContext, table_id: u32, row_id: u64, data: &[u8], ) -> HostCallResult

Execute a write operation

Execute vector search

Source

fn log(&self, ctx: &HostFunctionContext, level: u8, message: &str)

Log a message

Implementors§