public CommandProcessorSupervisor(IActorRef writer, GlobalOptions options)
        {
            this._writer = writer;
            this._options = options;

            Ready();
        }
        public EventProcessorSupervisor(GlobalOptions options)
        {
            Argument.Requires(options != null, nameof(options));
            _options = options;

            Ready();
        }
        public static Props CreateProps(IProjectionStoreWriter writer, GlobalOptions options)
        {
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<ProjectionCheckpointWriter>(writer, options);
        }
示例#4
0
        public static Props CreateProps(IActorRef projectionStreams, GlobalOptions options)
        {
            Argument.RequiresNotNull(projectionStreams, nameof(projectionStreams));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<ProjectionSupervisor>(projectionStreams, options);
        }
示例#5
0
        public ProjectionSupervisor(IActorRef projectionStreamSupervisor, GlobalOptions options)
        {
            _projectionStreams = projectionStreamSupervisor;
            _options = options;

            Ready();
        }
示例#6
0
        public static Props CreateProps(IActorRef reader, GlobalOptions options)
        {
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<EventDispatcher>(reader, options);
        }
        public static Props CreateProps(IActorRef writer, GlobalOptions options)
        {
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<CommandProcessorSupervisor>(writer, options);
        }
示例#8
0
        public AggregateSupervisor(IActorRef reader, IActorRef writer, GlobalOptions options)
        {
            _reader = reader;
            _writer = writer;
            _options = options;

            Ready();
        }
        public ProjectionCheckpointWriter(IProjectionStoreWriter writer, GlobalOptions options)
        {
            _writer = writer;
            _options = options;

            Receive<ProjectionCheckpointPersistenceRequest>(request => Enqueue(request));
            Receive<FlushBufferCommand>(_ => FlushBuffer());
        }
示例#10
0
        public static Props CreateProps(IActorRef reader, IActorRef writer, GlobalOptions options)
        {
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<AggregateSupervisor>(reader, writer, options);
        }
示例#11
0
        public static Props CreateProps(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(serializer, nameof(serializer));
            Argument.RequiresNotNull(dispatcher, nameof(dispatcher));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<SerialEventStreamWriter>(writer, serializer, dispatcher, options);
        }
示例#12
0
        public SerialEventStreamWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            this._writer = writer;
            this._serializer = serializer;
            this._dispatcher = dispatcher;
            this._options = options;

            Receive<PersistenceRequest>(r => HandleRequest(r));
        }
示例#13
0
        public static Props CreateProps(ProjectionStreamQuery query, IActorRef reader, IActorRef writer, GlobalOptions options, Props replayWorkerProps = null)
        {
            Argument.RequiresNotNull(query, nameof(query));
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            return Props.Create<ProjectionStream>(query, reader, writer, options, replayWorkerProps);
        }
示例#14
0
        // test only
        public EventStoreWriter(IActorRef serialWriter, IActorRef bufferedWriter, IActorRef indexWriter, IActorRef checkpointWriter, GlobalOptions options)
        {
            _serialWriter = serialWriter;
            _bufferedWriter = bufferedWriter;
            _indexWriter = indexWriter;
            _checkpointWriter = checkpointWriter;

            Ready();
        }
示例#15
0
        // test only
        public EventStoreReader(Props readProps, Props readStreamProps, Props readIndexedProjectionProps, Props readProjectionCheckpointProps, Props readHighestGlobalSequenceProps, GlobalOptions options)
        {
            _readProps = readProps;
            _readStreamProps = readStreamProps;
            _readIndexedProjectionProps = readIndexedProjectionProps;
            _readProjectionCheckpointProps = readProjectionCheckpointProps;
            _readHighestGlobalSequenceProps = readHighestGlobalSequenceProps;

            Ready();
        }
示例#16
0
        private void Uninitialized()
        {
            Receive<InitializeCommandProcessor>(ini =>
            {
                _writer = ini.Writer;
                _options = ini.Options;

                Become(Ready);
            });
        }
示例#17
0
        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();
        }
示例#18
0
        public BufferedEventWriter(IEventStoreWriter writer, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            _writer = writer;
            _serializer = serializer;
            _dispatcher = dispatcher;
            _options = options;

            Receive<PersistenceRequest>(r => Enqueue(r));
            Receive<FlushBufferCommand>(_ => FlushBuffer());
        }
示例#19
0
        public EvenStartInfo(IEventStore store, ISerializer serializer, GlobalOptions options)
        {
            Argument.RequiresNotNull(store, nameof(store));
            Argument.RequiresNotNull(serializer, nameof(serializer));
            Argument.RequiresNotNull(options, nameof(options));

            Store = store;
            Serializer = serializer;
            Options = options;
        }
示例#20
0
        public EventDispatcher(IActorRef reader, GlobalOptions options)
        {
            _reader = reader;
            _options = options;

            var request = new ReadHighestGlobalSequenceRequest();
            _reader.Tell(request);
            _requestId = request.RequestID;

            AwaitingGlobalSequence();
        }
        public ProjectionStreamSupervisor(IActorRef reader, IActorRef writer, GlobalOptions options)
        {
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            _reader = reader;
            _writer = writer;
            _options = options;

            Become(ReceivingRequests);
        }
示例#22
0
        public EventStoreWriter(IEventStore store, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            var serialProps = SerialEventStreamWriter.CreateProps(store, serializer, dispatcher, options);
            _serialWriter = Context.ActorOf(serialProps, "serial");

            var bufferedProps = BufferedEventWriter.CreateProps(store, serializer, dispatcher, options);
            _bufferedWriter = Context.ActorOf(bufferedProps, "buffered");

            var indexWriterProps = ProjectionIndexWriter.CreateProps(store, options);
            _indexWriter = Context.ActorOf(indexWriterProps, "index");

            var checkpointWriterProps = ProjectionCheckpointWriter.CreateProps(store, options);
            _checkpointWriter = Context.ActorOf(checkpointWriterProps, "checkpoint");

            Ready();
        }
示例#23
0
        public ProjectionStream(ProjectionStreamQuery query, IActorRef reader, IActorRef writer, GlobalOptions options, Props replayWorkerProps)
        {
            _query = query;
            _reader = reader;
            _writer = writer;
            _options = options;
            _replayWorkerProps = replayWorkerProps ?? Props.Create<ProjectionReplayWorker>();

            // subscribe to events in the stream
            Context.System.EventStream.Subscribe(Self, typeof(IPersistedEvent));

            // request checkpoint
            var request = new ReadProjectionCheckpointRequest(_query.ProjectionStream);
            _lastRequestId = request.RequestID;
            _reader.Tell(request);

            Become(AwaitingCheckpoint);
        }
示例#24
0
 public static Props CreateProps(IEventStore store, IPersistedEventFactory factory, GlobalOptions options)
 {
     return(Props.Create <EventStoreReader>(store, factory, options));
 }
示例#25
0
        public InitializeProjectionReplayWorker(IActorRef reader, IActorRef subscriber, ProjectionSubscriptionRequest subscriptionRequest, int lastSequenceToRead, GlobalOptions options)
        {
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(subscriber, nameof(subscriber));
            Argument.RequiresNotNull(subscriptionRequest, nameof(subscriptionRequest));
            Argument.RequiresNotNull(options, nameof(options));

            this.Reader              = reader;
            this.Subscriber          = subscriber;
            this.SubscriptionRequest = subscriptionRequest;
            this.LastSequenceToRead  = lastSequenceToRead;
            this.Options             = options;
        }
示例#26
0
        public ProjectionStream(ProjectionStreamQuery query, IActorRef reader, IActorRef writer, GlobalOptions options, Props replayWorkerProps)
        {
            _query             = query;
            _reader            = reader;
            _writer            = writer;
            _options           = options;
            _replayWorkerProps = replayWorkerProps ?? Props.Create <ProjectionReplayWorker>();

            // subscribe to events in the stream
            Context.System.EventStream.Subscribe(Self, typeof(IPersistedEvent));

            // request checkpoint
            var request = new ReadProjectionCheckpointRequest(_query.ProjectionStream);

            _lastRequestId = request.RequestID;
            _reader.Tell(request);

            Become(AwaitingCheckpoint);
        }
 public static Props CreateProps(IActorRef reader, IActorRef writer, GlobalOptions options)
 {
     return Props.Create<ProjectionStreamSupervisor>(reader, writer, options);
 }
示例#28
0
        // test only
        public EventStoreWriter(IActorRef serialWriter, IActorRef bufferedWriter, IActorRef indexWriter, IActorRef checkpointWriter, GlobalOptions options)
        {
            _serialWriter     = serialWriter;
            _bufferedWriter   = bufferedWriter;
            _indexWriter      = indexWriter;
            _checkpointWriter = checkpointWriter;

            Ready();
        }
示例#29
0
 // test only
 public static Props CreateProps(IActorRef serial, IActorRef buffered, IActorRef indexWriter, IActorRef checkpointWriter, GlobalOptions options)
 {
     return Props.Create<EventStoreWriter>(serial, buffered, indexWriter, checkpointWriter, options);
 }
示例#30
0
        public EventStoreWriter(IEventStore store, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            var serialProps = SerialEventStreamWriter.CreateProps(store, serializer, dispatcher, options);

            _serialWriter = Context.ActorOf(serialProps, "serial");

            var bufferedProps = BufferedEventWriter.CreateProps(store, serializer, dispatcher, options);

            _bufferedWriter = Context.ActorOf(bufferedProps, "buffered");

            var indexWriterProps = ProjectionIndexWriter.CreateProps(store, options);

            _indexWriter = Context.ActorOf(indexWriterProps, "index");

            var checkpointWriterProps = ProjectionCheckpointWriter.CreateProps(store, options);

            _checkpointWriter = Context.ActorOf(checkpointWriterProps, "checkpoint");

            Ready();
        }
示例#31
0
 // test only
 public static Props CreateProps(Props readProps, Props readStreamProps, Props readIndexedProjectionProps, Props readProjectionCheckpointProps, Props readHighestGlobalSequenceProps, GlobalOptions options)
 {
     return Props.Create<EventStoreReader>(readProps, readStreamProps, readIndexedProjectionProps, readProjectionCheckpointProps, readHighestGlobalSequenceProps, options);
 }
示例#32
0
 public static Props CreateProps(IEventStore store, IPersistedEventFactory factory, GlobalOptions options)
 {
     return Props.Create<EventStoreReader>(store, factory, options);
 }
示例#33
0
        // test only
        public EventStoreReader(Props readProps, Props readStreamProps, Props readIndexedProjectionProps, Props readProjectionCheckpointProps, Props readHighestGlobalSequenceProps, GlobalOptions options)
        {
            _readProps                      = readProps;
            _readStreamProps                = readStreamProps;
            _readIndexedProjectionProps     = readIndexedProjectionProps;
            _readProjectionCheckpointProps  = readProjectionCheckpointProps;
            _readHighestGlobalSequenceProps = readHighestGlobalSequenceProps;

            Ready();
        }
示例#34
0
 // test only
 public static Props CreateProps(IActorRef serial, IActorRef buffered, IActorRef indexWriter, IActorRef checkpointWriter, GlobalOptions options)
 {
     return(Props.Create <EventStoreWriter>(serial, buffered, indexWriter, checkpointWriter, options));
 }
示例#35
0
        public InitializeProjectionReplayWorker(IActorRef reader, IActorRef subscriber, ProjectionSubscriptionRequest subscriptionRequest, int lastSequenceToRead, GlobalOptions options)
        {
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(subscriber, nameof(subscriber));
            Argument.RequiresNotNull(subscriptionRequest, nameof(subscriptionRequest));
            Argument.RequiresNotNull(options, nameof(options));

            this.Reader = reader;
            this.Subscriber = subscriber;
            this.SubscriptionRequest = subscriptionRequest;
            this.LastSequenceToRead = lastSequenceToRead;
            this.Options = options;
        }
示例#36
0
 public static Props CreateProps(IActorRef reader, IActorRef writer, GlobalOptions options)
 {
     return(Props.Create <ProjectionStreamSupervisor>(reader, writer, options));
 }
示例#37
0
        public ProjectionReplayWorker()
        {
            Receive<InitializeProjectionReplayWorker>(ini =>
            {
                _reader = ini.Reader;
                _subscriber = ini.Subscriber;
                _lastSequenceToRead = ini.LastSequenceToRead;
                _options = ini.Options;

                _subscriberRequestId = ini.SubscriptionRequest.RequestID;
                _projectionStream = ini.SubscriptionRequest.Query.ProjectionStream;
                _currentSequence = ini.SubscriptionRequest.LastKnownSequence;

                StartReadRequest();
                Become(Replaying);
            });
        }
示例#38
0
 // test only
 public static Props CreateProps(Props readProps, Props readStreamProps, Props readIndexedProjectionProps, Props readProjectionCheckpointProps, Props readHighestGlobalSequenceProps, GlobalOptions options)
 {
     return(Props.Create <EventStoreReader>(readProps, readStreamProps, readIndexedProjectionProps, readProjectionCheckpointProps, readHighestGlobalSequenceProps, options));
 }
示例#39
0
        public static Props CreateProps(ProjectionStreamQuery query, IActorRef reader, IActorRef writer, GlobalOptions options, Props replayWorkerProps = null)
        {
            Argument.RequiresNotNull(query, nameof(query));
            Argument.RequiresNotNull(reader, nameof(reader));
            Argument.RequiresNotNull(writer, nameof(writer));
            Argument.RequiresNotNull(options, nameof(options));

            return(Props.Create <ProjectionStream>(query, reader, writer, options, replayWorkerProps));
        }
示例#40
0
 public static Props CreateProps(GlobalOptions options)
 {
     return Props.Create<EventProcessorSupervisor>(options);
 }
示例#41
0
        public static Props CreateProps(IEventStore store, ISerializer serializer, IActorRef dispatcher, GlobalOptions options)
        {
            Argument.RequiresNotNull(store, nameof(store));
            Argument.RequiresNotNull(serializer, nameof(serializer));
            Argument.RequiresNotNull(dispatcher, nameof(dispatcher));
            Argument.RequiresNotNull(options, nameof(options));

            return(Props.Create <EventStoreWriter>(store, serializer, dispatcher, options));
        }