Trait StreamingService

Source
pub trait StreamingService<RequestStream> {
    type Response;
    type ResponseStream: Stream<Item = Self::Response, Error = Status>;
    type Future: Future<Item = Response<Self::ResponseStream>, Error = Status>;

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

A specialization of tower_service::Service.

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

Required Associated Types§

Source

type Response

Protobuf response message type

Source

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

Stream of outbound response messages

Source

type Future: Future<Item = Response<Self::ResponseStream>, Error = Status>

Response future

Required Methods§

Source

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

Call the service

Implementors§

Source§

impl<T, S1, S2> StreamingService<S1> for T
where T: Service<Request<S1>, Response = Response<S2>, Error = Status>, S1: Stream<Error = Status>, S2: Stream<Error = Status>,