Skip to main content

sof_gossip_tuning/domain/
error.rs

1//! Error types for validated gossip and ingest tuning values.
2
3use std::fmt;
4
5/// Error returned when a tuning value violates a basic invariant.
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub enum TuningValueError {
8    /// Capacity values must be non-zero.
9    ZeroCapacity,
10    /// Millisecond values must be positive.
11    ZeroMillis,
12    /// TVU socket count must be non-zero.
13    ZeroSocketCount,
14}
15
16impl fmt::Display for TuningValueError {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18        match self {
19            Self::ZeroCapacity => f.write_str("capacity must be non-zero"),
20            Self::ZeroMillis => f.write_str("duration must be positive"),
21            Self::ZeroSocketCount => f.write_str("socket count must be non-zero"),
22        }
23    }
24}
25
26impl std::error::Error for TuningValueError {}