#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SourceOutcome {
Updated,
NotModified,
FreshCache,
StaleCache,
Retained,
Failed,
}
#[derive(Clone, Debug)]
pub struct SourceReport {
pub source_key: String,
pub outcome: SourceOutcome,
pub nodes: usize,
pub error: Option<String>,
pub cache_error: Option<String>,
}
#[derive(Clone, Debug, Default)]
pub struct RefreshReport {
pub nodes: usize,
pub updated_sources: usize,
pub not_modified_sources: usize,
pub cached_sources: usize,
pub failed_sources: usize,
pub skipped_nodes: usize,
pub cache_read_failures: usize,
pub cache_write_failures: usize,
pub sources: Vec<SourceReport>,
}