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§
Sourcefn create_context(
&self,
plugin_id: &str,
capabilities: &ManifestCapabilities,
) -> HostFunctionContext
fn create_context( &self, plugin_id: &str, capabilities: &ManifestCapabilities, ) -> HostFunctionContext
Create a host context for a plugin
Sourcefn read(
&self,
ctx: &HostFunctionContext,
table_id: u32,
row_id: u64,
) -> HostCallResult
fn read( &self, ctx: &HostFunctionContext, table_id: u32, row_id: u64, ) -> HostCallResult
Execute a read operation
Sourcefn write(
&self,
ctx: &HostFunctionContext,
table_id: u32,
row_id: u64,
data: &[u8],
) -> HostCallResult
fn write( &self, ctx: &HostFunctionContext, table_id: u32, row_id: u64, data: &[u8], ) -> HostCallResult
Execute a write operation
Sourcefn vector_search(
&self,
ctx: &HostFunctionContext,
index: &str,
vector: &[f32],
top_k: u32,
) -> HostCallResult
fn vector_search( &self, ctx: &HostFunctionContext, index: &str, vector: &[f32], top_k: u32, ) -> HostCallResult
Execute vector search
Sourcefn log(&self, ctx: &HostFunctionContext, level: u8, message: &str)
fn log(&self, ctx: &HostFunctionContext, level: u8, message: &str)
Log a message