use crate::acceleration::AccelerationMode;
use crate::model_handle::ModelHandle;
use crate::session::InferenceSession;
use latexsnipper_foundation::Result;
pub trait RuntimeBackend: Send + Sync {
fn create_session(
&self,
handle: &ModelHandle,
acceleration: AccelerationMode,
) -> Result<Box<dyn InferenceSession>>;
fn create_session_with_threads(
&self,
handle: &ModelHandle,
acceleration: AccelerationMode,
_max_threads: usize,
) -> Result<Box<dyn InferenceSession>> {
self.create_session(handle, acceleration)
}
fn clear_sessions(&self) {
}
fn name(&self) -> &str;
fn is_available(&self) -> bool;
}