Skip to main content

burn_central_inference/
observer.rs

1use std::time::Duration;
2
3/// Runtime-owned writer statistics for a completed inference request.
4#[derive(Debug, Clone, Copy)]
5pub struct InferenceWriterStats {
6    pub duration: Duration,
7    pub outputs: usize,
8    pub errors: usize,
9    pub cancelled: bool,
10}
11
12/// Observer interface for writer lifecycle events.
13pub trait InferenceWriterObserver: Send + Sync + 'static {
14    fn on_write(&self) {}
15
16    fn on_error(&self) {}
17
18    fn on_cancelled(&self) {}
19
20    fn on_finish(&self, _stats: &InferenceWriterStats) {}
21}