pub struct Stack<Inner, Outer> { /* private fields */ }
Expand description
Two Layer
s chained together.
§Examples
use tower_layer::{Stack, layer_fn, Layer};
let inner = layer_fn(|service| service+2);
let outer = layer_fn(|service| service*2);
let inner_outer_stack = Stack::new(inner, outer);
// (4 + 2) * 2 = 12
// (4 * 2) + 2 = 10
assert_eq!(inner_outer_stack.layer(4), 12);
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<Inner, Outer> Freeze for Stack<Inner, Outer>
impl<Inner, Outer> RefUnwindSafe for Stack<Inner, Outer>where
Inner: RefUnwindSafe,
Outer: RefUnwindSafe,
impl<Inner, Outer> Send for Stack<Inner, Outer>
impl<Inner, Outer> Sync for Stack<Inner, Outer>
impl<Inner, Outer> Unpin for Stack<Inner, Outer>
impl<Inner, Outer> UnwindSafe for Stack<Inner, Outer>where
Inner: UnwindSafe,
Outer: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more