use anyhow::Error;
pub trait ContextStack {
fn pre_read(&mut self) -> Result<(), Error>;
fn post_read(&mut self, bytes: u32) -> Result<(), Error>;
fn pre_write(&mut self) -> Result<(), Error>;
fn post_write(&mut self, bytes: u32) -> Result<(), Error>;
}
impl ContextStack for () {
fn pre_read(&mut self) -> Result<(), Error> {
Ok(())
}
fn post_read(&mut self, _bytes: u32) -> Result<(), Error> {
Ok(())
}
fn pre_write(&mut self) -> Result<(), Error> {
Ok(())
}
fn post_write(&mut self, _bytes: u32) -> Result<(), Error> {
Ok(())
}
}