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§
Sourcefn register(
&mut self,
name: &str,
executor: Box<dyn ModelExecutor>,
) -> Result<()>
fn register( &mut self, name: &str, executor: Box<dyn ModelExecutor>, ) -> Result<()>
Register executor with name
Sourcefn get(&self, name: &str) -> Option<&dyn ModelExecutor>
fn get(&self, name: &str) -> Option<&dyn ModelExecutor>
Get executor by name
Sourcefn list_names(&self) -> Vec<String>
fn list_names(&self) -> Vec<String>
List registered executor names
Sourcefn get_metrics(&self, name: &str) -> Option<ExecutorMetrics>
fn get_metrics(&self, name: &str) -> Option<ExecutorMetrics>
Get executor metrics