1#[derive(Clone,Debug,PartialEq,Eq,PartialOrd,Ord)]
3#[non_exhaustive]
4pub enum Denied<T = std::time::SystemTime> {
5 EmptyRequest,
7 TooEarly(crate::TooEarly<T>),
9 TooBig,
13}
14
15impl<T: std::fmt::Debug> std::fmt::Display for Denied<T> {
16 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
17 match self {
18 Denied::EmptyRequest => f.write_str("Request maximum is less than minimum."),
19 Denied::TooEarly(err) => err.fmt(f),
20 Denied::TooBig => f.write_str("Request cost is larger than bucket size."),
21 }
22 }
23}
24
25impl<T: std::fmt::Debug> std::error::Error for Denied<T> {}
26
27impl<T> From<crate::TooEarly<T>> for Denied<T> {
28 fn from(e: crate::TooEarly<T>) -> Self {
29 Denied::TooEarly(e)
30 }
31}