ort-parallel 0.1.3

A library for running ONNX models in parallel using ORT(session pool)
Documentation
#![doc = include_str!("../README.md")]

#[cfg(feature = "async")]
mod async_pool;
#[cfg(feature = "sync")]
mod semaphore;
#[cfg(feature = "sync")]
mod sync_pool;

#[cfg(feature = "async")]
pub use async_pool::AsyncSessionPool;

use ort::session::builder::SessionBuilder;
#[cfg(feature = "sync")]
pub use sync_pool::SessionPool;

struct SessionBuilderFactory(SessionBuilder);

impl SessionBuilderFactory {
    pub(crate) fn generate(&self) -> SessionBuilder {
        self.0.clone()
    }
}

unsafe impl Sync for SessionBuilderFactory {}
unsafe impl Send for SessionBuilderFactory {}