3个版本
0.1.2 | 2019年10月16日 |
---|---|
0.1.1 | 2019年10月9日 |
0.1.0 | 2019年10月8日 |
#30 in #circular
17KB
335 行
LineBuffer - 不是元素的固定大小,而是不同大小的ringbuffer
此crate专门用于以下场景
- 高数据吞吐量
- 不频繁读取条目或整个缓冲区
- 条目是可区分的字节数组
- 数据具有动态大小
- 编号是无限的
例如,您可以将其用于按行缓冲进程的stdout。
它允许设置要存储的最后一行数量和环绕前的字节大小。
示例
use linebuffer::{typenum, LineBuffer};
// create a buffer of max 2048 entries/lines and 512KB data cache
// with the additional flag type ()
let mut buffer: LineBuffer<(), typenum::U2048> = LineBuffer::new(512_000);
let data = String::from("Some data stuff");
buffer.insert(data.as_bytes(),());
assert_eq!(buffer.get(0),Some((data.as_bytes(), &())));
依赖项
~360KB