Indexed Ring Buffer

An indexed multiple readable spsc ring buffer.

Overview

Examples

```rust extern crate indexedringbuffer; use indexedringbuffer::*;

let (mut p, mut c, r) = indexedringbuffer::(0, 5);

for i in 0..101 { p.push(i); c.shift(); }

for i in 101..106 { p.push(i); }

let (start, end, data) = r.getfrom(101,5).unwrap(); asserteq!(data,vec![101,102,103,104,105]); asserteq!(start,101); asserteq!(end,105);

c.shiftto(105); let rslt = r.getall(); assert_eq!(rslt,None);

```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.