tower-timeout 0.3.0

Apply a timeout to requests, ensuring completion within a fixed time duration.
Documentation
//! Error types

use std::{error, fmt};

pub(crate) type Error = Box<dyn error::Error + Send + Sync>;

/// The timeout elapsed.
#[derive(Debug)]
pub struct Elapsed(pub(super) ());

impl Elapsed {
    /// Construct a new elapsed error
    pub fn new() -> Self {
        Elapsed(())
    }
}

impl fmt::Display for Elapsed {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        f.pad("request timed out")
    }
}

impl error::Error for Elapsed {}