example/
example.rs

1extern crate buffer;
2
3use buffer::ReadBuffer;
4use std::env;
5use std::fs::File;
6use std::io::Write;
7
8fn main() {
9    let filename = env::temp_dir().join("rust_buffer_test.txt");
10    {
11        let mut f = File::create(&filename).unwrap();
12        f.write(&[1; 256]).unwrap();
13    }
14    {
15        let mut contents = Vec::with_capacity(1);
16        let mut f = File::open(&filename).unwrap();
17        loop {
18            let len = f.read_buffer(&mut contents).unwrap().len();
19            println!("{:3} {:3}/{:3}", len, contents.len(), contents.capacity());
20            if len == 0 {
21                break;
22            }
23            if contents.len() == contents.capacity() {
24                let len = contents.len();
25                contents.reserve(len);
26            }
27        }
28    }
29}