Create a new Sender-Receiver pair async ring buffer See [module level documentation](self) for more information. # Panics Panics if size is 0
(size: usize)
| 49 | /// # Panics |
| 50 | /// Panics if size is 0 |
| 51 | pub fn create<T>(size: usize) -> (Sender<T>, Receiver<T>) { |
| 52 | assert!(size > 0, "Ring buffer size must be greater than 0"); |
| 53 | let buffer = Arc::new(Mutex::new(Buffer::new(size))); |
| 54 | let notifier = Arc::new(Notify::new()); |
| 55 | let tx = Sender::new(Arc::clone(&buffer), Arc::clone(¬ifier)); |
| 56 | let rx = Receiver::new(buffer, notifier); |
| 57 | (tx, rx) |
| 58 | } |
| 59 | |
| 60 | /// The sender half of a ring buffer SPSC |
| 61 | /// |