trait EventProducerService extends AnyRef

EventProducerService runs on the producer side and implements the producer side of the EventsBySlices query, which can be used with Akka Projection over gRPC.

  1. Events are stored in the event journal on the producer side. 2. Consumer side starts an Akka Projection which locally reads its offset from the Projection offset store. 3. Consumer side establishes a replication stream from the producer service by sending the InitReq with the offset to start from. 4. Events are read from the journal on the producer side and emitted to the replication stream. 5. Consumer side processes the events in a Projection handler. 6. Offset is stored on the consumer side by the Projection offset store. 7. 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.
Annotations
@AkkaGrpcGenerated()
Source
EventProducerService.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EventProducerService
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def eventTimestamp(in: EventTimestampRequest): Future[EventTimestampResponse]

    Used in some edge cases by the offset store to retrieve the timestamp for a certain event.

  2. abstract def eventsBySlices(in: Source[StreamIn, NotUsed]): Source[StreamOut, NotUsed]
  3. abstract def loadEvent(in: LoadEventRequest): Future[LoadEventResponse]

    Lazy loading of a specific event.