Trait conjure_runtime::raw::Service[][src]

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

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

type Response[src]

The response type returned by the service.

type Error[src]

The error type returned by the service.

type Future: Future<Output = Result<Self::Response, Self::Error>>[src]

The future type returned by the service.

Loading content...

Required methods

fn call(&self, req: R) -> Self::Future[src]

Asynchronously perform the request.

Loading content...

Implementations on Foreign Types

impl<R, T: ?Sized> Service<R> for Arc<T> where
    T: Service<R>, 
[src]

type Response = T::Response

type Error = T::Error

type Future = T::Future

Loading content...

Implementors

Loading content...