diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-02 18:36:06 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-02 18:36:06 -0600 |
| commit | 8cdfa445d6629ffef4cb84967ff7017654045bc2 (patch) | |
| tree | 22f0b0907c024c78d26a731e2e1f5219407d8102 /vendor/tower/src/timeout/layer.rs | |
| parent | 4351c74c7c5f97156bc94d3a8549b9940ac80e3f (diff) | |
chore: add vendor directory
Diffstat (limited to 'vendor/tower/src/timeout/layer.rs')
| -rw-r--r-- | vendor/tower/src/timeout/layer.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/vendor/tower/src/timeout/layer.rs b/vendor/tower/src/timeout/layer.rs new file mode 100644 index 00000000..d8cc2d1c --- /dev/null +++ b/vendor/tower/src/timeout/layer.rs @@ -0,0 +1,24 @@ +use super::Timeout; +use std::time::Duration; +use tower_layer::Layer; + +/// Applies a timeout to requests via the supplied inner service. +#[derive(Debug, Clone)] +pub struct TimeoutLayer { + timeout: Duration, +} + +impl TimeoutLayer { + /// Create a timeout from a duration + pub const fn new(timeout: Duration) -> Self { + TimeoutLayer { timeout } + } +} + +impl<S> Layer<S> for TimeoutLayer { + type Service = Timeout<S>; + + fn layer(&self, service: S) -> Self::Service { + Timeout::new(service, self.timeout) + } +} |
