pub trait PipeRead: AsyncRead + AsyncCacheRead {
// Required methods
fn get_timeout(&self) -> Duration;
fn set_timeout(&mut self, timeout: Duration);
fn get_block_size(&self) -> usize;
fn set_block_size(&mut self, block_size: usize);
}