Skip to main content

ExecutorRegistry

Trait ExecutorRegistry 

Source
pub trait ExecutorRegistry: Send + Sync {
    // Required methods
    fn register(
        &mut self,
        name: &str,
        executor: Box<dyn ModelExecutor>,
    ) -> Result<()>;
    fn get(&self, name: &str) -> Option<&dyn ModelExecutor>;
    fn remove(&mut self, name: &str) -> Option<Box<dyn ModelExecutor>>;
    fn list_names(&self) -> Vec<String>;
    fn get_metrics(&self, name: &str) -> Option<ExecutorMetrics>;
}
Expand description

Executor registry for managing multiple executors

Required Methods§

Source

fn register( &mut self, name: &str, executor: Box<dyn ModelExecutor>, ) -> Result<()>

Register executor with name

Source

fn get(&self, name: &str) -> Option<&dyn ModelExecutor>

Get executor by name

Source

fn remove(&mut self, name: &str) -> Option<Box<dyn ModelExecutor>>

Remove executor by name

Source

fn list_names(&self) -> Vec<String>

List registered executor names

Source

fn get_metrics(&self, name: &str) -> Option<ExecutorMetrics>

Get executor metrics

Implementors§