Struct akka_projection_rs_grpc::proto::event_producer_service_server::EventProducerServiceServer   
source · pub struct EventProducerServiceServer<T: EventProducerService> { /* private fields */ }Expand description
EventProducerService runs on the producer side and implements the producer side of the EventsBySlices query, which can be used with Akka Projection over gRPC.
- Events are stored in the event journal on the producer side.
 - Consumer side starts an Akka Projection which locally reads its offset from the Projection offset store.
 - Consumer side establishes a replication stream from the producer service
by sending the 
InitReqwith the offset to start from. - Events are read from the journal on the producer side and emitted to the replication stream.
 - Consumer side processes the events in a Projection handler.
 - Offset is stored on the consumer side by the Projection offset store.
 - Producer continues to read new events from the journal and emit to the stream.
 
The consumer can define event filters with the FilterCriteria, which can be included
in the InitReq and also changed in runtime by sending FilterReq.
Implementations§
source§impl<T: EventProducerService> EventProducerServiceServer<T>
 
impl<T: EventProducerService> EventProducerServiceServer<T>
pub fn new(inner: T) -> Self
pub fn from_arc(inner: Arc<T>) -> Self
pub fn with_interceptor<F>( inner: T, interceptor: F ) -> InterceptedService<Self, F>where F: Interceptor,
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
 
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing requests with the given encoding.
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
 
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress responses with the given encoding, if the client supports it.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
 
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
 
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
Trait Implementations§
source§impl<T: EventProducerService> Clone for EventProducerServiceServer<T>
 
impl<T: EventProducerService> Clone for EventProducerServiceServer<T>
source§impl<T: Debug + EventProducerService> Debug for EventProducerServiceServer<T>
 
impl<T: Debug + EventProducerService> Debug for EventProducerServiceServer<T>
source§impl<T: EventProducerService> NamedService for EventProducerServiceServer<T>
 
impl<T: EventProducerService> NamedService for EventProducerServiceServer<T>
source§impl<T, B> Service<Request<B>> for EventProducerServiceServer<T>where
    T: EventProducerService,
    B: Body + Send + 'static,
    B::Error: Into<StdError> + Send + 'static,
 
impl<T, B> Service<Request<B>> for EventProducerServiceServer<T>where T: EventProducerService, B: Body + Send + 'static, B::Error: Into<StdError> + Send + 'static,
§type Response = Response<UnsyncBoxBody<Bytes, Status>>
 
type Response = Response<UnsyncBoxBody<Bytes, Status>>
Responses given by the service.
§type Error = Infallible
 
type Error = Infallible
Errors produced by the service.
§type Future = Pin<Box<dyn Future<Output = Result<<EventProducerServiceServer<T> as Service<Request<B>>>::Response, <EventProducerServiceServer<T> as Service<Request<B>>>::Error>> + Send>>
 
type Future = Pin<Box<dyn Future<Output = Result<<EventProducerServiceServer<T> as Service<Request<B>>>::Response, <EventProducerServiceServer<T> as Service<Request<B>>>::Error>> + Send>>
The future response value.
Auto Trait Implementations§
impl<T> RefUnwindSafe for EventProducerServiceServer<T>where T: RefUnwindSafe,
impl<T> Send for EventProducerServiceServer<T>
impl<T> Sync for EventProducerServiceServer<T>
impl<T> Unpin for EventProducerServiceServer<T>
impl<T> UnwindSafe for EventProducerServiceServer<T>where T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, ReqBody, ResBody> GrpcService<ReqBody> for Twhere
    T: Service<Request<ReqBody>, Response = Response<ResBody>>,
    <T as Service<Request<ReqBody>>>::Error: Into<Box<dyn Error + Send + Sync>>,
    ResBody: Body,
    <ResBody as Body>::Error: Into<Box<dyn Error + Send + Sync>>,
 
impl<T, ReqBody, ResBody> GrpcService<ReqBody> for Twhere T: Service<Request<ReqBody>, Response = Response<ResBody>>, <T as Service<Request<ReqBody>>>::Error: Into<Box<dyn Error + Send + Sync>>, ResBody: Body, <ResBody as Body>::Error: Into<Box<dyn Error + Send + Sync>>,
§type ResponseBody = ResBody
 
type ResponseBody = ResBody
Responses body given by the service.
source§fn poll_ready(
    &mut self,
    cx: &mut Context<'_>
) -> Poll<Result<(), <T as GrpcService<ReqBody>>::Error>>
 
fn poll_ready( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(), <T as GrpcService<ReqBody>>::Error>>
Returns 
Ready when the service is able to process requests. Read more§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
 
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
 
fn into_request(self) -> Request<T>
Wrap the input message 
T in a tonic::Request§impl<S, R> ServiceExt<R> for Swhere
    S: Service<R>,
 
impl<S, R> ServiceExt<R> for Swhere S: Service<R>,
§fn into_make_service(self) -> IntoMakeService<S>
 
fn into_make_service(self) -> IntoMakeService<S>
Convert this service into a 
MakeService, that is a [Service] whose
response is another service. Read more§impl<T, Request> ServiceExt<Request> for Twhere
    T: Service<Request> + ?Sized,
 
impl<T, Request> ServiceExt<Request> for Twhere T: Service<Request> + ?Sized,
§fn ready(&mut self) -> Ready<'_, Self, Request>where
    Self: Sized,
 
fn ready(&mut self) -> Ready<'_, Self, Request>where Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
§fn ready_and(&mut self) -> Ready<'_, Self, Request>where
    Self: Sized,
 
fn ready_and(&mut self) -> Ready<'_, Self, Request>where Self: Sized,
👎Deprecated since 0.4.6: please use the 
ServiceExt::ready method insteadYields a mutable reference to the service when it is ready to accept a request.
§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
    Self: Sized,
 
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where Self: Sized,
Yields the service when it is ready to accept a request.
§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
    Self: Sized,
 
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where Self: Sized,
Consume this 
Service, calling with the providing request once it is ready.§fn call_all<S>(self, reqs: S) -> CallAll<Self, S>where
    Self: Sized,
    Self::Error: Into<Box<dyn Error + Send + Sync>>,
    S: Stream<Item = Request>,
 
fn call_all<S>(self, reqs: S) -> CallAll<Self, S>where Self: Sized, Self::Error: Into<Box<dyn Error + Send + Sync>>, S: Stream<Item = Request>,
§fn and_then<F>(self, f: F) -> AndThen<Self, F>where
    Self: Sized,
    F: Clone,
 
fn and_then<F>(self, f: F) -> AndThen<Self, F>where Self: Sized, F: Clone,
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the 
poll_ready method. Read more§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>where
    Self: Sized,
    F: FnOnce(Self::Response) -> Response + Clone,
 
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>where Self: Sized, F: FnOnce(Self::Response) -> Response + Clone,
Maps this service’s response value to a different value. This does not
alter the behaviour of the 
poll_ready method. Read more§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>where
    Self: Sized,
    F: FnOnce(Self::Error) -> Error + Clone,
 
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>where Self: Sized, F: FnOnce(Self::Error) -> Error + Clone,
Maps this service’s error value to a different value. This does not
alter the behaviour of the 
poll_ready method. Read more§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>where
    Self: Sized,
    Error: From<Self::Error>,
    F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone,
 
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>where Self: Sized, Error: From<Self::Error>, F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone,
Maps this service’s result type (
Result<Self::Response, Self::Error>)
to a different value, regardless of whether the future succeeds or
fails. Read more§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>where
    Self: Sized,
    F: FnMut(NewRequest) -> Request,
 
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>where Self: Sized, F: FnMut(NewRequest) -> Request,
Composes a function in front of the service. Read more
§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>where
    Self: Sized,
    Error: From<Self::Error>,
    F: FnOnce(Result<Self::Response, Self::Error>) -> Fut + Clone,
    Fut: Future<Output = Result<Response, Error>>,
 
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>where Self: Sized, Error: From<Self::Error>, F: FnOnce(Result<Self::Response, Self::Error>) -> Fut + Clone, Fut: Future<Output = Result<Response, Error>>,
Composes an asynchronous function after this service. Read more
§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>where
    Self: Sized,
    F: FnMut(Self::Future) -> Fut,
    Error: From<Self::Error>,
    Fut: Future<Output = Result<Response, Error>>,
 
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>where Self: Sized, F: FnMut(Self::Future) -> Fut, Error: From<Self::Error>, Fut: Future<Output = Result<Response, Error>>,
Composes a function that transforms futures produced by the service. Read more