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}