MCPcopy Create free account
hub / github.com/aws/clock-bound / create

Function create

clock-bound/src/daemon/async_ring_buffer.rs:51–58  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

49/// # Panics
50/// Panics if size is 0
51pub 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(&notifier));
56 let rx = Receiver::new(buffer, notifier);
57 (tx, rx)
58}
59
60/// The sender half of a ring buffer SPSC
61///

Callers 15

constructMethod · 0.85
wipeMethod · 0.85
basic_send_receiveFunction · 0.85
buffer_overflowFunction · 0.85
concurrent_send_receiveFunction · 0.85
cancel_safetyFunction · 0.85
receiver_streamFunction · 0.85

Calls 1

newFunction · 0.50

Tested by 3

add_ntp_sourceFunction · 0.68
remove_ntp_sourceFunction · 0.68