1pub trait Reader<T> { 2 fn read(&mut self) -> crate::Result<T>; 3} 4 5#[cfg(feature = "async")] 6pub trait AsyncReader<T> { 7 fn read(&mut self) -> impl std::future::Future<Output = crate::Result<T>>; 8}