Coverage Report

Created: 2024-12-17 06:15

/rust/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/timeout/layer.rs
Line
Count
Source (jump to first uncovered line)
1
use super::Timeout;
2
use std::time::Duration;
3
use tower_layer::Layer;
4
5
/// Applies a timeout to requests via the supplied inner service.
6
#[derive(Debug, Clone)]
7
pub struct TimeoutLayer {
8
    timeout: Duration,
9
}
10
11
impl TimeoutLayer {
12
    /// Create a timeout from a duration
13
0
    pub fn new(timeout: Duration) -> Self {
14
0
        TimeoutLayer { timeout }
15
0
    }
16
}
17
18
impl<S> Layer<S> for TimeoutLayer {
19
    type Service = Timeout<S>;
20
21
0
    fn layer(&self, service: S) -> Self::Service {
22
0
        Timeout::new(service, self.timeout)
23
0
    }
24
}