pub trait StreamingService<R> {
    type Response;
    type ResponseStream: Stream<Item = Result<Self::Response, Status>>;
    type Future: Future<Output = Result<Response<Self::ResponseStream>, Status>>;

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

A specialization of tower_service::Service.

Existing tower_service::Service implementations with the correct form will automatically implement StreamingService.

Required Associated Types§

source

type Response

Protobuf response message type

source

type ResponseStream: Stream<Item = Result<Self::Response, Status>>

Stream of outbound response messages

source

type Future: Future<Output = Result<Response<Self::ResponseStream>, Status>>

Response future

Required Methods§

source

fn call(&mut self, request: Request<Streaming<R>>) -> Self::Future

Call the service

Implementors§

source§

impl<T, S, M1, M2> StreamingService<M1> for T
where T: Service<Request<Streaming<M1>>, Response = Response<S>, Error = Status>, S: Stream<Item = Result<M2, Status>>,

§

type Response = M2

§

type ResponseStream = S

§

type Future = <T as Service<Request<Streaming<M1>>>>::Future