tower_spawn_ready/layer.rs
1use crate::MakeSpawnReady;
2use tower_layer::Layer;
3
4/// Spawns tasks to drive its inner service to readiness.
5#[derive(Debug, Clone)]
6pub struct SpawnReadyLayer;
7
8impl SpawnReadyLayer {
9 /// Builds a SpawnReady layer with the default executor.
10 pub fn new() -> Self {
11 Self
12 }
13}
14
15impl<S> Layer<S> for SpawnReadyLayer {
16 type Service = MakeSpawnReady<S>;
17
18 fn layer(&self, service: S) -> Self::Service {
19 MakeSpawnReady::new(service)
20 }
21}