public static Props CreateProps(IEventStoreReader reader, IPersistedEventFactory factory) { Argument.RequiresNotNull(reader, nameof(reader)); Argument.RequiresNotNull(factory, nameof(factory)); return(Props.Create <ReadStreamWorker>(reader, factory)); }
public EventStoreReader(IEventStore store, IPersistedEventFactory factory, GlobalOptions options) { _readProps = ReadWorker.CreateProps(store, factory); _readStreamProps = ReadStreamWorker.CreateProps(store, factory); _readIndexedProjectionProps = ReadIndexedProjectionStreamWorker.CreateProps(store, factory); _readProjectionCheckpointProps = ReadProjectionCheckpointWorker.CreateProps(store); _readHighestGlobalSequenceProps = ReadHighestGlobalSequenceWorker.CreateProps(store); Ready(); }
public ReadWorker(IEventStoreReader reader, IPersistedEventFactory factory) { ReceiveRequest <ReadRequest>((req, sender, ct) => { return(reader.ReadAsync(req.InitialGlobalSequence, req.Count, e => { var loadedEvent = factory.CreateEvent(e); sender.Tell(new ReadResponse(req.RequestID, loadedEvent), ActorRefs.NoSender); }, ct)); }); }
public ReadStreamWorker(IEventStoreReader reader, IPersistedEventFactory factory) { ReceiveRequest <ReadStreamRequest>((req, sender, ct) => { var sequence = req.InitialSequence; return(reader.ReadStreamAsync(req.Stream, req.InitialSequence, req.Count, e => { var loadedEvent = factory.CreateStreamEvent(e, sequence++); sender.Tell(new ReadStreamResponse(req.RequestID, loadedEvent), ActorRefs.NoSender); }, ct)); }); }
public ReadIndexedProjectionStreamWorker(IProjectionStoreReader reader, IPersistedEventFactory factory) { ReceiveRequest <ReadIndexedProjectionStreamRequest>(async(req, sender, ct) => { var checkpoint = await reader.ReadProjectionCheckpointAsync(req.ProjectionStream); var sequence = req.InitialSequence; var globalSequence = 0L; await reader.ReadIndexedProjectionStreamAsync(req.ProjectionStream, req.InitialSequence, req.Count, e => { globalSequence = e.GlobalSequence; var loadedEvent = factory.CreateStreamEvent(e, sequence++); sender.Tell(new ReadIndexedProjectionStreamResponse(req.RequestID, loadedEvent), ActorRefs.NoSender); }, ct); _lastSeenGlobalCheckpoint = Math.Max(checkpoint, globalSequence); }); }
public static Props CreateProps(IEventStore store, IPersistedEventFactory factory, GlobalOptions options) { return(Props.Create <EventStoreReader>(store, factory, options)); }
public static Props CreateProps(IEventStore store, IPersistedEventFactory factory, GlobalOptions options) { return Props.Create<EventStoreReader>(store, factory, options); }