1/// Trait for async write operations to abstract the underlying data sink 2#[async_trait::async_trait] 3pub trait AsyncWriter { 4 async fn write(&mut self, buf: &[u8]) -> anyhow::Result<()>; 5 async fn flush(&mut self) -> anyhow::Result<()>; 6}