Service

Trait Service 

Source
pub trait Service<Request> {
    type Response;
    type Error;
    type Future: Future<Output = Result<Self::Response, Self::Error>>;

    // Required method
    fn call(&self, request: Request) -> Self::Future;
}
Expand description

请求响应模型,表示一个接收请求并返回响应的异步函数。

Required Associated Types§

Source

type Response

服务返回的响应。

Source

type Error

服务产生的错误。

Source

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

异步返回的响应。

Required Methods§

Source

fn call(&self, request: Request) -> Self::Future

处理请求并异步返回响应。

Implementations on Foreign Types§

Source§

impl<'a, S, Request> Service<Request> for &'a S
where S: Service<Request> + ?Sized + 'a,

Source§

type Response = <S as Service<Request>>::Response

Source§

type Error = <S as Service<Request>>::Error

Source§

type Future = <S as Service<Request>>::Future

Source§

fn call(&self, request: Request) -> Self::Future

Source§

impl<'a, S, Request> Service<Request> for &'a mut S
where S: Service<Request> + ?Sized + 'a,

Source§

type Response = <S as Service<Request>>::Response

Source§

type Error = <S as Service<Request>>::Error

Source§

type Future = <S as Service<Request>>::Future

Source§

fn call(&self, request: Request) -> Self::Future

Source§

impl<S, Request> Service<Request> for Box<S>
where S: Service<Request> + ?Sized,

Source§

type Response = <S as Service<Request>>::Response

Source§

type Error = <S as Service<Request>>::Error

Source§

type Future = <S as Service<Request>>::Future

Source§

fn call(&self, request: Request) -> Self::Future

Source§

impl<S, Request> Service<Request> for Rc<S>
where S: Service<Request> + ?Sized,

Source§

type Response = <S as Service<Request>>::Response

Source§

type Error = <S as Service<Request>>::Error

Source§

type Future = <S as Service<Request>>::Future

Source§

fn call(&self, request: Request) -> Self::Future

Implementors§