pub trait Service<R> {
    type Response;
    type Error;
    type Future: Future<Output = Result<Self::Response, Self::Error>>;
    fn call(&self, req: R) -> Self::Future;
}
Expand description

An asynchronous function from request to response.

This trait is based on the tower::Service trait, but differs in two ways. It does not have a poll_ready method as our client-side backpressure depends on the request, and the call method takes &self rather than &mut self as our client is designed to be used through a shared reference.

Associated Types

The response type returned by the service.

The error type returned by the service.

The future type returned by the service.

Required methods

Asynchronously perform the request.

Implementations on Foreign Types

Implementors