5个版本 (1个稳定版本)
1.0.0 | 2024年1月8日 |
---|---|
0.4.0 | 2024年1月7日 |
0.3.0 | 2024年1月7日 |
0.2.0 | 2024年1月7日 |
0.1.0 | 2024年1月7日 |
#717 in 数据结构
7KB
90 行
河环形缓冲区
使用Rust实现的一个简单的环形缓冲区。
环形缓冲区是一种高性能的数据结构,非常适合缓冲数据流。
我构建这个的动机是了解环形缓冲区,因为它们在新的Linux内核功能(如eBPF和IO Uring)中得到了广泛的应用。
示例用法
use river_ring_buffer::RingBuffer;
fn main() -> Result<(), &'static str> {
let mut buffer = RingBuffer::new(3);
buffer.put(1)?;
buffer.put(2)?;
buffer.put(3)?;
buffer.read(); // Returns Some(1)
}
当缓冲区满时返回错误。
use river_ring_buffer::RingBuffer;
fn main() -> Result<(), &'static str> {
let mut buffer = RingBuffer::new(3);
buffer.put(1)?;
buffer.put(2)?;
buffer.put(3)?;
buffer.put(4)?; // Returns Err(BufferFullError)
}