tower/load_shed/
layer.rs
1use std::fmt;
2use tower_layer::Layer;
3
4use super::LoadShed;
5
6#[derive(Clone, Default)]
10pub struct LoadShedLayer {
11 _p: (),
12}
13
14impl LoadShedLayer {
15 pub fn new() -> Self {
17 LoadShedLayer { _p: () }
18 }
19}
20
21impl<S> Layer<S> for LoadShedLayer {
22 type Service = LoadShed<S>;
23
24 fn layer(&self, service: S) -> Self::Service {
25 LoadShed::new(service)
26 }
27}
28
29impl fmt::Debug for LoadShedLayer {
30 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
31 f.debug_struct("LoadShedLayer").finish()
32 }
33}