rama_core/layer/timeout/error.rs
1//! Default Error type for Timeout middleware.
2
3use std::{error, fmt, time::Duration};
4
5/// The timeout elapsed.
6#[derive(Debug, Clone, Default)]
7pub struct Elapsed(Duration);
8
9impl Elapsed {
10 /// Construct a new elapsed error
11 pub(crate) const fn new(duration: Duration) -> Self {
12 Self(duration)
13 }
14}
15
16impl fmt::Display for Elapsed {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 write!(f, "timeout elapsed after {:?}", self.0)
19 }
20}
21
22impl error::Error for Elapsed {}