1use std::fs::File;
6use std::io::Read;
7use std::num::NonZeroUsize;
8
9use spare_buffer::SpareBuffer;
10
11fn main() {
12 let mut vec: Vec<u8> = Vec::with_capacity(1048576);
13 let mut buffer = SpareBuffer::from(&mut vec, NonZeroUsize::new(10485760));
14
15 let chunk_size = NonZeroUsize::new(4096).unwrap();
16 let mut file = File::open("input.dat").expect("Failed to open input file!");
17
18 loop {
19 let spare = buffer.allocate_spare(chunk_size);
20 let count = file.read(spare).expect("File read error encountered!");
21 if count > 0 {
22 buffer.commit(count).expect("Failed to commit!");
23 } else {
24 break; }
26 }
27
28 println!("Length: {:?}", vec.len());
29}