use crate::sync::index_types::TickType;
pub trait TlsProvider: Send + Sync {
fn get_worker_id(&self) -> Option<usize>;
fn with_hit_buf(&self, f: &mut dyn FnMut(&mut ([usize; 64], usize)));
fn with_l1_filter(&self, f: &mut dyn FnMut(&mut ([u8; 4096], usize)));
fn with_last_flush_tick(&self, f: &mut dyn FnMut(&mut TickType));
fn with_warmup_state(&self, f: &mut dyn FnMut(&mut u8));
}
#[cfg(all(feature = "std", not(any(feature = "loom", loom))))]
mod std_tls;
#[cfg(all(feature = "std", not(any(feature = "loom", loom))))]
pub use std_tls::DefaultTls;
#[cfg(any(feature = "loom", loom))]
mod loom_tls;
#[cfg(any(feature = "loom", loom))]
pub use loom_tls::DefaultTls;
#[cfg(not(any(feature = "std", feature = "loom", loom)))]
mod no_std_tls;
#[cfg(not(any(feature = "std", feature = "loom", loom)))]
pub use no_std_tls::DefaultTls;