use async_trait::async_trait;
use crate::error::TraceError;
use crate::span::ScoreRecord;
#[async_trait]
pub trait ScoreSink: Send + Sync {
async fn submit(&self, score: ScoreRecord) -> Result<(), TraceError>;
async fn submit_many(&self, scores: Vec<ScoreRecord>) -> Result<(), TraceError> {
for s in scores {
self.submit(s).await?;
}
Ok(())
}
}