use ipc_ring48::{Consumer, Producer, PushError};
fn main() -> std::io::Result<()> {
ipc_ring48::unlink()?;
let producer = Producer::create_or_open(8)?;
let consumer = Consumer::open()?;
for value in 0_u8..8 {
producer.push([value; 48]).expect("queue has space");
}
assert_eq!(producer.push([9; 48]), Err(PushError::Full));
for value in 0_u8..8 {
let message = consumer.pop().expect("queue has a message");
assert_eq!(message, [value; 48]);
}
assert_eq!(consumer.pop(), None);
ipc_ring48::unlink()
}