macro_rules! if_wasm {
($($item:item)*) => {$(
#[cfg(target_family = "wasm")]
$item
)*}
}
macro_rules! if_not_wasm {
($($item:item)*) => {$(
#[cfg(not(target_family = "wasm"))]
$item
)*}
}
mod client;
mod do_not_modify;
mod multiplexer;
pub mod runner;
if_not_wasm! {
pub mod server;
pub mod slowlog;
}
if_not_wasm! {
pub(crate) use tokio::spawn as do_spawn;
pub(crate) use Send as MaybeSend;
}
if_wasm! {
pub(crate) use tokio::task::spawn_local as do_spawn;
pub(crate) trait MaybeSend {}
impl <T> MaybeSend for T {}
}
pub use do_not_modify::types;
pub use runner::Runner;
#[cfg(feature = "benchmark")]
pub mod _only_public_for_benchmarks_do_not_use {
pub use crate::do_not_modify::alloc::TypedAlloc;
pub use crate::do_not_modify::alloc_inline::{
alloc_tensor as alloc_tensor_inline, alloc_tensor_no_pool as alloc_tensor_no_pool_inline,
InlineAllocator, InlineTensorStorage,
};
pub use crate::do_not_modify::alloc_shm::{
alloc_tensor as alloc_tensor_shm, alloc_tensor_no_pool as alloc_tensor_no_pool_shm,
SHMAllocator, SHMTensorStorage,
};
}