1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! low-latency inter-thread communication inspired by lmax disruptor.
//!
//! this crate provides zero-copy, lock-free channels for high-performance
//! applications.
//!
//! # features
//!
//! - pre-allocated ring buffers (no allocation in hot path)
//! - sequence-based coordination (no locks)
//! - multiple wait strategies for latency/CPU trade-offs
//! - zero-copy in-place mutation support
//! - cache-line padding to prevent false sharing
//!
//! # channel types
//!
//! - [`spsc`]: single producer single consumer - lowest latency
//! - [`mpsc`]: multi producer single consumer - multiple senders
//!
//! # example
//!
//! ```ignore
//! use scatto::spsc;
//!
//! // create channel with 1024-slot buffer
//! let (mut producer, mut consumer) = spsc::channel::<u64>(1024);
//!
//! // producer thread
//! std::thread::spawn(move || {
//! for i in 0..1000 {
//! producer.send(i).unwrap();
//! }
//! });
//!
//! // consumer
//! for _ in 0..1000 {
//! let value = consumer.recv().unwrap();
//! }
//! ```
pub
pub use ;
pub use ;
pub use RingBuffer;
pub use ;
// re-export fence helpers for architecture-aware memory ordering
pub use ;