Trait Service
pub trait Service<Input>:
Sized
+ Send
+ Sync
+ 'static {
type Output: Send + 'static;
type Error: Send + 'static;
// Required method
fn serve(
&self,
input: Input,
) -> impl Future<Output = Result<Self::Output, Self::Error>> + Send;
// Provided method
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error> { ... }
}Expand description
A Service that produces rama services,
to serve given an input, be it transport layer Inputs or application layer http requests,
or something else entirely.
Required Associated Types§
Required Methods§
Provided Methods§
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
Box this service to allow for dynamic dispatch.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
§impl<S, Input> Service<Input> for &'static Swhere
S: Service<Input>,
impl<S, Input> Service<Input> for &'static Swhere
S: Service<Input>,
Implementors§
§impl Service<AsyncWebSocket> for WebSocketEchoService
impl Service<AsyncWebSocket> for WebSocketEchoService
§impl Service<FastCgiClientRequest> for FastCgiTcpConnector
impl Service<FastCgiClientRequest> for FastCgiTcpConnector
§impl Service<FastCgiClientRequest> for FastCgiUnixConnector
impl Service<FastCgiClientRequest> for FastCgiUnixConnector
Source§impl Service<Request> for rama::cli::service::echo::EchoService
Available on crate features cli and haproxy and http and net and std only.
impl Service<Request> for rama::cli::service::echo::EchoService
Available on crate features
cli and haproxy and http and net and std only.§impl Service<Request> for GrpcRouter
impl Service<Request> for GrpcRouter
§impl Service<ServerWebSocket> for WebSocketEchoService
impl Service<ServerWebSocket> for WebSocketEchoService
§impl Service<SocketAddress> for DefaultAcceptorFactory
impl Service<SocketAddress> for DefaultAcceptorFactory
§impl Service<SocketAddress> for DefaultUdpBinder
impl Service<SocketAddress> for DefaultUdpBinder
§impl Service<Upgraded> for WebSocketEchoService
impl Service<Upgraded> for WebSocketEchoService
§impl Service<Uri> for FetchPacScript
impl Service<Uri> for FetchPacScript
§impl Service<Uri> for StaticPacScript
impl Service<Uri> for StaticPacScript
§impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for Either9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for Either9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for EitherConn9Connected<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for EitherConn9Connected<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for Either8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for Either8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for EitherConn8Connected<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for EitherConn8Connected<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for Either7<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for Either7<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for EitherConn7Connected<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for EitherConn7Connected<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, Input, Output> Service<Input> for Either6<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, Input, Output> Service<Input> for Either6<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, Input, Output> Service<Input> for EitherConn6Connected<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, Input, Output> Service<Input> for EitherConn6Connected<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, Input, Output> Service<Input> for Either5<A, B, C, D, E>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, Input, Output> Service<Input> for Either5<A, B, C, D, E>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, Input, Output> Service<Input> for EitherConn5Connected<A, B, C, D, E>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, Input, Output> Service<Input> for EitherConn5Connected<A, B, C, D, E>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, Input, Output> Service<Input> for Either4<A, B, C, D>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, Input, Output> Service<Input> for Either4<A, B, C, D>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, Input, Output> Service<Input> for EitherConn4Connected<A, B, C, D>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, Input, Output> Service<Input> for EitherConn4Connected<A, B, C, D>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, Input, Output> Service<Input> for EitherConn3Connected<A, B, C>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, Input, Output> Service<Input> for EitherConn3Connected<A, B, C>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, Input, Output> Service<Input> for EitherConnConnected<A, B>
impl<A, B, Input, Output> Service<Input> for EitherConnConnected<A, B>
§impl<A, B, T, EA, EB> Service<StreamBridge<A, B>> for StreamForwardService
impl<A, B, T, EA, EB> Service<StreamBridge<A, B>> for StreamForwardService
§impl<A, C, L, S, ReqBody, ResBody> Service<Request<ReqBody>> for ProxyAuthService<A, C, S, L>
impl<A, C, L, S, ReqBody, ResBody> Service<Request<ReqBody>> for ProxyAuthService<A, C, S, L>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, I, ConnI, Input> Service<Input> for EitherConn9<A, B, C, D, E, F, G, H, I>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
H: ConnectorService<Input, Connection = ConnH>,
ConnH: Send + 'static,
I: ConnectorService<Input, Connection = ConnI>,
ConnI: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, I, ConnI, Input> Service<Input> for EitherConn9<A, B, C, D, E, F, G, H, I>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
H: ConnectorService<Input, Connection = ConnH>,
ConnH: Send + 'static,
I: ConnectorService<Input, Connection = ConnI>,
ConnI: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn9Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH, ConnI>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, Input> Service<Input> for EitherConn8<A, B, C, D, E, F, G, H>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
H: ConnectorService<Input, Connection = ConnH>,
ConnH: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, Input> Service<Input> for EitherConn8<A, B, C, D, E, F, G, H>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
H: ConnectorService<Input, Connection = ConnH>,
ConnH: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn8Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, Input> Service<Input> for EitherConn7<A, B, C, D, E, F, G>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, Input> Service<Input> for EitherConn7<A, B, C, D, E, F, G>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
G: ConnectorService<Input, Connection = ConnG>,
ConnG: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn7Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, Input> Service<Input> for EitherConn6<A, B, C, D, E, F>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, Input> Service<Input> for EitherConn6<A, B, C, D, E, F>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
F: ConnectorService<Input, Connection = ConnF>,
ConnF: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn6Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, Input> Service<Input> for EitherConn5<A, B, C, D, E>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, Input> Service<Input> for EitherConn5<A, B, C, D, E>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
E: ConnectorService<Input, Connection = ConnE>,
ConnE: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn5Connected<ConnA, ConnB, ConnC, ConnD, ConnE>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, Input> Service<Input> for EitherConn4<A, B, C, D>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, Input> Service<Input> for EitherConn4<A, B, C, D>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
D: ConnectorService<Input, Connection = ConnD>,
ConnD: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn4Connected<ConnA, ConnB, ConnC, ConnD>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, C, ConnC, Input> Service<Input> for EitherConn3<A, B, C>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, Input> Service<Input> for EitherConn3<A, B, C>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
C: ConnectorService<Input, Connection = ConnC>,
ConnC: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn3Connected<ConnA, ConnB, ConnC>, Input>
type Error = ConnectionError
§impl<A, ConnA, B, ConnB, Input> Service<Input> for EitherConn<A, B>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, Input> Service<Input> for EitherConn<A, B>where
A: ConnectorService<Input, Connection = ConnA>,
ConnA: Send + 'static,
B: ConnectorService<Input, Connection = ConnB>,
ConnB: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConnConnected<ConnA, ConnB>, Input>
type Error = ConnectionError
§impl<B, S, Response, IO> Service<IO> for HttpService<B, S>where
B: HttpCoreConnServer,
S: Service<Request, Output = Response, Error = Infallible> + Clone,
Response: IntoResponse + Send + 'static,
IO: Io + ExtensionsRef,
impl<B, S, Response, IO> Service<IO> for HttpService<B, S>where
B: HttpCoreConnServer,
S: Service<Request, Output = Response, Error = Infallible> + Clone,
Response: IntoResponse + Send + 'static,
IO: Io + ExtensionsRef,
Source§impl<Body, ConnectionBody, Connection, L> Service<Request<Body>> for EasyHttpWebClient<Body, EstablishedClientConnection<Connection, Request<ConnectionBody>>, L>where
Body: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
Connection: Service<Request<ConnectionBody>, Output = Response, Error = BoxError> + ExtensionsRef,
ConnectionBody: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
L: Layer<Connection, Service: Service<Request<ConnectionBody>, Output = Response, Error = BoxError>> + Send + Sync + 'static,
Available on crate features dns and http-backend and http and std and tcp only.
impl<Body, ConnectionBody, Connection, L> Service<Request<Body>> for EasyHttpWebClient<Body, EstablishedClientConnection<Connection, Request<ConnectionBody>>, L>where
Body: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
Connection: Service<Request<ConnectionBody>, Output = Response, Error = BoxError> + ExtensionsRef,
ConnectionBody: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
L: Layer<Connection, Service: Service<Request<ConnectionBody>, Output = Response, Error = BoxError>> + Send + Sync + 'static,
Available on crate features
dns and http-backend and http and std and tcp only.§impl<Body, ResBody> Service<Request<Body>> for RedirectStatic<ResBody>
impl<Body, ResBody> Service<Request<Body>> for RedirectStatic<ResBody>
type Output = Response<OptionalBody<ResBody>>
type Error = Infallible
§impl<Body, S, P> Service<Request<Body>> for UserAgentEmulateService<S, P>
impl<Body, S, P> Service<Request<Body>> for UserAgentEmulateService<S, P>
§impl<Body, S> Service<Request<Body>> for DnsResolveModeService<S>
impl<Body, S> Service<Request<Body>> for DnsResolveModeService<S>
§impl<Body> Service<Request<Body>> for DefaultHttpProxyConnectReplyServicewhere
Body: Send + 'static,
impl<Body> Service<Request<Body>> for DefaultHttpProxyConnectReplyServicewhere
Body: Send + 'static,
§impl<Body> Service<Request<Body>> for HttpClientService<Body>
impl<Body> Service<Request<Body>> for HttpClientService<Body>
§impl<Body> Service<Request<Body>> for WebSocketAcceptorwhere
Body: Send + 'static,
impl<Body> Service<Request<Body>> for WebSocketAcceptorwhere
Body: Send + 'static,
§impl<C, B, U, A, S> Service<S> for Socks5Acceptor<C, B, U, A>where
C: Socks5Connector<S>,
U: Socks5UdpAssociator<S>,
A: Authorizer<Basic>,
<A as Authorizer<Basic>>::Error: Debug,
B: Socks5Binder<S>,
S: Io + Unpin + ExtensionsRef,
impl<C, B, U, A, S> Service<S> for Socks5Acceptor<C, B, U, A>where
C: Socks5Connector<S>,
U: Socks5UdpAssociator<S>,
A: Authorizer<Basic>,
<A as Authorizer<Basic>>::Error: Debug,
B: Socks5Binder<S>,
S: Io + Unpin + ExtensionsRef,
§impl<C, Input> Service<Input> for TtrpcConnector<C>where
C: ConnectorService<Input>,
<C as ConnectorService<Input>>::Connection: Io,
Input: Send + 'static,
impl<C, Input> Service<Input> for TtrpcConnector<C>where
C: ConnectorService<Input>,
<C as ConnectorService<Input>>::Connection: Io,
Input: Send + 'static,
type Output = EstablishedClientConnection<Client, Input>
type Error = ConnectionError
§impl<C, ReqBody, RespBody> Service<Request<ReqBody>> for BindBodyToConn<C>
impl<C, ReqBody, RespBody> Service<Request<ReqBody>> for BindBodyToConn<C>
§impl<F, S, ReqBody, ResBody, NewReqBody> Service<Request<ReqBody>> for MapRequestBody<S, F>
impl<F, S, ReqBody, ResBody, NewReqBody> Service<Request<ReqBody>> for MapRequestBody<S, F>
§impl<F, S, ReqBody, ResBody, NewResBody> Service<Request<ReqBody>> for MapResponseBody<S, F>
impl<F, S, ReqBody, ResBody, NewResBody> Service<Request<ReqBody>> for MapResponseBody<S, F>
§impl<F, T, State> Service<Request> for EndpointServiceFnWrapper<F, T, State>
impl<F, T, State> Service<Request> for EndpointServiceFnWrapper<F, T, State>
§impl<H, S, Body> Service<Request<Body>> for GetForwardedHeaderService<S, H>
impl<H, S, Body> Service<Request<Body>> for GetForwardedHeaderService<S, H>
§impl<I, F, Ingress, Egress> Service<BridgeIo<Ingress, Egress>> for Socks5MitmRelayService<I, F>where
I: Service<BridgeIo<Ingress, Egress>>,
<I as Service<BridgeIo<Ingress, Egress>>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<BridgeIo<Ingress, Egress>>,
<F as Service<BridgeIo<Ingress, Egress>>>::Error: Into<Box<dyn Error + Sync + Send>>,
Ingress: Io + Unpin + ExtensionsRef,
Egress: Io + Unpin + ExtensionsRef,
impl<I, F, Ingress, Egress> Service<BridgeIo<Ingress, Egress>> for Socks5MitmRelayService<I, F>where
I: Service<BridgeIo<Ingress, Egress>>,
<I as Service<BridgeIo<Ingress, Egress>>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<BridgeIo<Ingress, Egress>>,
<F as Service<BridgeIo<Ingress, Egress>>>::Error: Into<Box<dyn Error + Sync + Send>>,
Ingress: Io + Unpin + ExtensionsRef,
Egress: Io + Unpin + ExtensionsRef,
§impl<I, O> Service<I> for StaticOutput<O>
impl<I, O> Service<I> for StaticOutput<O>
type Output = O
type Error = Infallible
§impl<Ingress, Egress, M> Service<BridgeIo<Ingress, Egress>> for HttpMitmRelay<M>where
Ingress: Io + Unpin + ExtensionsRef,
Egress: Io + Unpin + ExtensionsRef,
M: Layer<HttpClientService<Body>> + Send + Sync + 'static + Clone,
<M as Layer<HttpClientService<Body>>>::Service: Service<Request, Output = Response> + Clone,
<<M as Layer<HttpClientService<Body>>>::Service as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>,
impl<Ingress, Egress, M> Service<BridgeIo<Ingress, Egress>> for HttpMitmRelay<M>where
Ingress: Io + Unpin + ExtensionsRef,
Egress: Io + Unpin + ExtensionsRef,
M: Layer<HttpClientService<Body>> + Send + Sync + 'static + Clone,
<M as Layer<HttpClientService<Body>>>::Service: Service<Request, Output = Response> + Clone,
<<M as Layer<HttpClientService<Body>>>::Service as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>,
§impl<Input, C, ID> Service<Input> for LeasedConnection<C, ID>
impl<Input, C, ID> Service<Input> for LeasedConnection<C, ID>
§impl<Input, C, ID> Service<Input> for MultiplexedConnection<C, ID>
impl<Input, C, ID> Service<Input> for MultiplexedConnection<C, ID>
§impl<Input, ConnectorFactory> Service<Input> for UnixConnector<ConnectorFactory>where
Input: Send + 'static,
ConnectorFactory: UnixStreamConnectorFactory + Clone,
<ConnectorFactory as UnixStreamConnectorFactory>::Connector: UnixStreamConnector,
<<ConnectorFactory as UnixStreamConnectorFactory>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,
<ConnectorFactory as UnixStreamConnectorFactory>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,
impl<Input, ConnectorFactory> Service<Input> for UnixConnector<ConnectorFactory>where
Input: Send + 'static,
ConnectorFactory: UnixStreamConnectorFactory + Clone,
<ConnectorFactory as UnixStreamConnectorFactory>::Connector: UnixStreamConnector,
<<ConnectorFactory as UnixStreamConnectorFactory>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,
<ConnectorFactory as UnixStreamConnectorFactory>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,
type Output = EstablishedClientConnection<UnixStream, Input>
type Error = ConnectionError
§impl<Input, Output, Error> Service<Input> for BoxService<Input, Output, Error>
impl<Input, Output, Error> Service<Input> for BoxService<Input, Output, Error>
§impl<Input, Output, Error> Service<Input> for RejectService<Output, Error>
impl<Input, Output, Error> Service<Input> for RejectService<Output, Error>
§impl<Input, S, P, R> Service<Input> for PooledConnector<S, P, R>where
S: ConnectorService<Input>,
Input: Send + ExtensionsRef + 'static,
P: Pool<<S as ConnectorService<Input>>::Connection, <R as ReqToConnID<Input>>::ID> + Extension,
R: ReqToConnID<Input>,
impl<Input, S, P, R> Service<Input> for PooledConnector<S, P, R>where
S: ConnectorService<Input>,
Input: Send + ExtensionsRef + 'static,
P: Pool<<S as ConnectorService<Input>>::Connection, <R as ReqToConnID<Input>>::ID> + Extension,
R: ReqToConnID<Input>,
type Output = EstablishedClientConnection<<P as Pool<<S as ConnectorService<Input>>::Connection, <R as ReqToConnID<Input>>::ID>>::Connection, Input>
type Error = ConnectionError
§impl<Input, S, T, F> Service<Input> for GetInputExtensionRef<S, T, F>
impl<Input, S, T, F> Service<Input> for GetInputExtensionRef<S, T, F>
§impl<Input, S, T, F> Service<Input> for GetOutputExtensionRef<S, T, F>
impl<Input, S, T, F> Service<Input> for GetOutputExtensionRef<S, T, F>
§impl<Input, S, T, Fut, F> Service<Input> for GetInputExtensionOwned<S, T, Fut, F>
impl<Input, S, T, Fut, F> Service<Input> for GetInputExtensionOwned<S, T, Fut, F>
§impl<Input, S, T, Fut, F> Service<Input> for GetOutputExtensionOwned<S, T, Fut, F>
impl<Input, S, T, Fut, F> Service<Input> for GetOutputExtensionOwned<S, T, Fut, F>
§impl<Input, S, T> Service<Input> for AddInputExtension<S, T>
impl<Input, S, T> Service<Input> for AddInputExtension<S, T>
§impl<Input, S, T> Service<Input> for AddOutputExtension<S, T>
impl<Input, S, T> Service<Input> for AddOutputExtension<S, T>
Source§impl<Input, S> Service<Input> for ProxyConnector<S>where
S: ConnectorService<Input, Connection: Io + Unpin>,
Input: AuthorityInputExt + ProtocolInputExt + Send + ExtensionsRef + 'static,
Available on crate features dns and http-backend and http and std and tcp only.
impl<Input, S> Service<Input> for ProxyConnector<S>where
S: ConnectorService<Input, Connection: Io + Unpin>,
Input: AuthorityInputExt + ProtocolInputExt + Send + ExtensionsRef + 'static,
Available on crate features
dns and http-backend and http and std and tcp only.