1use std::error::Error;
7use std::fmt;
8
9use crate::clock::ClockError;
10
11#[non_exhaustive]
13#[derive(Debug)]
14pub enum FluxLimiterError {
15 InvalidRate, InvalidBurst, ClockError(ClockError), }
19
20impl fmt::Display for FluxLimiterError {
22 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
23 match self {
24 FluxLimiterError::InvalidRate => write!(f, "Rate must be positive"),
25 FluxLimiterError::InvalidBurst => write!(f, "Burst must be non-negative"),
26 FluxLimiterError::ClockError(_) => {
27 write!(f, "Clock error occurred")
28 }
29 }
30 }
31}
32
33impl Error for FluxLimiterError {}