use crate::cook::execution::events::{EventRecord, EventWriter};
use anyhow::Result;
use async_trait::async_trait;
#[derive(Clone)]
pub struct NoOpEventWriter;
impl Default for NoOpEventWriter {
fn default() -> Self {
Self::new()
}
}
impl NoOpEventWriter {
pub fn new() -> Self {
Self
}
}
#[async_trait]
impl EventWriter for NoOpEventWriter {
async fn write(&self, _events: &[EventRecord]) -> Result<()> {
Ok(())
}
async fn flush(&self) -> Result<()> {
Ok(())
}
fn clone(&self) -> Box<dyn EventWriter> {
Box::new(Self)
}
}