pub trait ServiceExt<I: Send>: Service<I> {
// Provided methods
fn flow<O1, O2, E1, E2, U>(self, service: U) -> (Self, U)
where Self: Sized + Service<I, Out = Result<O1, E1>> + Send,
U: Service<O1, Out = Result<O2, E2>> + Send,
O1: Send,
O2: Send,
E1: Send,
E2: Send { ... }
fn spawn_each(self) -> SpawnEach<I, Self>
where Self: Sized + Send + Clone,
Self::Out: Send { ... }
fn flow_map<O1, O2, E1, F, H>(self, f: F) -> (Self, Map<O2, F>)
where Self: Sized + Service<I, Out = Result<O1, E1>> + Send,
F: FnMut(O1) -> H + Send,
H: Future<Output = O2> + Send,
O1: Send,
O2: Send,
E1: Send { ... }
fn flow_filter_map<O1, O2, E1, F, H>(self, f: F) -> (Self, FilterMap<O2, F>)
where Self: Sized + Service<I, Out = Result<O1, E1>> + Send,
O1: Send,
O2: Send,
E1: Send,
F: FnMut(O1) -> H + Send,
H: Future<Output = Option<O2>> + Send { ... }
}Provided Methods§
fn flow<O1, O2, E1, E2, U>(self, service: U) -> (Self, U)
fn spawn_each(self) -> SpawnEach<I, Self>
fn flow_map<O1, O2, E1, F, H>(self, f: F) -> (Self, Map<O2, F>)
fn flow_filter_map<O1, O2, E1, F, H>(self, f: F) -> (Self, FilterMap<O2, F>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.