pub(crate) const CHANNEL_STORE_LOAD_ORDER: std::sync::atomic::Ordering =
std::sync::atomic::Ordering::SeqCst;
pub mod config;
pub mod error;
pub mod hybrid;
pub mod mpmc;
pub mod roles;
pub mod select;
pub mod spsc;
pub mod stats;
pub mod unified;
pub use config::{ChannelConfig, DEFAULT_CHANNEL_CAPACITY};
pub use error::{Channel, ChannelError, Result};
pub use hybrid::{HybridChannel, HybridReceiver, HybridSender};
pub use mpmc::{MpmcChannel, MpmcReceiver, MpmcSender};
pub use roles::{Consumer, Producer};
pub use select::{Select, mpmc, spsc, unbounded};
pub use spsc::{SpscConsumer, SpscProducer, SpscReceiver, SpscRing, SpscSender};
pub use stats::ChannelStatistics;
pub use unified::{
UnifiedChannel, UnifiedReceiver, UnifiedSender, unified_channel, unified_channel_with_config,
};
#[cfg(test)]
mod tests;