1 2 3 4 5 6 7 8 9 10 11 12 13
pub trait Reader { fn new() -> Self; fn open(&mut self, filename: &str) -> Result<(), String>; fn get_cache_size(&self) -> Option<usize>; fn set_cache_size(&mut self, cache_size: Option<usize>); fn get_max_end_position(&self) -> Option<u64>; fn set_max_end_position(&mut self, max_end_position: Option<u64>); fn get_position(&mut self) -> Result<u64, String>; fn get_size(&mut self) -> Result<u64, String>; }