protected override void Given()
        {
            base.Given();
            AllWritesSucceed();
            NoOtherStreams();

            _commandReader = new ProjectionCoreServiceCommandReader(_bus, _ioDispatcher, Guid.NewGuid().ToString("N"));

            _bus.Subscribe<ProjectionCoreServiceMessage.StartCore>(_commandReader);
            _bus.Subscribe<ProjectionCoreServiceMessage.StopCore>(_commandReader);
        }
        protected override void Given()
        {
            base.Given();
            AllWritesSucceed();
            NoOtherStreams();

            _commandReader = new ProjectionCoreServiceCommandReader(_bus, _ioDispatcher, Guid.NewGuid().ToString("N"));

            _bus.Subscribe <ProjectionCoreServiceMessage.StartCore>(_commandReader);
            _bus.Subscribe <ProjectionCoreServiceMessage.StopCore>(_commandReader);
        }
Exemple #3
0
 public new void When()
 {
     _exception = null;
     try {
         _commandReader = new ProjectionCoreServiceCommandReader(
             _bus,
             _ioDispatcher,
             Guid.NewGuid().ToString("N"));
     } catch (Exception ex) {
         _exception = ex;
     }
 }
Exemple #4
0
        public ProjectionWorkerNode(
            Guid workerId,
            TFChunkDb db,
            IQueuedHandler inputQueue,
            ITimeProvider timeProvider,
            ISingletonTimeoutScheduler timeoutScheduler,
            ProjectionType runProjections,
            bool faultOutOfOrderProjections)
        {
            _runProjections = runProjections;
            Ensure.NotNull(db, "db");

            _coreOutput = new InMemoryBus("Core Output");

            IPublisher publisher = CoreOutput;

            _subscriptionDispatcher            = new ReaderSubscriptionDispatcher(publisher);
            _spoolProcessingResponseDispatcher = new SpooledStreamReadingDispatcher(publisher);

            _ioDispatcher           = new IODispatcher(publisher, new PublishEnvelope(inputQueue));
            _eventReaderCoreService = new EventReaderCoreService(
                publisher,
                _ioDispatcher,
                10,
                db.Config.WriterCheckpoint,
                runHeadingReader: runProjections >= ProjectionType.System,
                faultOutOfOrderProjections: faultOutOfOrderProjections);

            _feedReaderService = new FeedReaderService(_subscriptionDispatcher, timeProvider);
            if (runProjections >= ProjectionType.System)
            {
                _projectionCoreServiceCommandReader = new ProjectionCoreServiceCommandReader(
                    publisher,
                    _ioDispatcher,
                    workerId.ToString("N"));

                var multiStreamWriter = new MultiStreamMessageWriter(_ioDispatcher);
                _slaveProjectionResponseWriter = new SlaveProjectionResponseWriter(multiStreamWriter);

                _projectionCoreService = new ProjectionCoreService(
                    workerId,
                    inputQueue,
                    publisher,
                    _subscriptionDispatcher,
                    timeProvider,
                    _ioDispatcher,
                    _spoolProcessingResponseDispatcher,
                    timeoutScheduler);

                var responseWriter = new ResponseWriter(_ioDispatcher);
                _coreResponseWriter = new ProjectionCoreResponseWriter(responseWriter);
            }
        }
        public ProjectionWorkerNode(
            Guid workerId,
            TFChunkDb db,
            QueuedHandler inputQueue,
            ITimeProvider timeProvider,
            ISingletonTimeoutScheduler timeoutScheduler,
            ProjectionType runProjections)
        {
            _runProjections = runProjections;
            Ensure.NotNull(db, "db");

            _coreOutput = new InMemoryBus("Core Output");

            IPublisher publisher = CoreOutput;
            _subscriptionDispatcher = new ReaderSubscriptionDispatcher(publisher);
            _spoolProcessingResponseDispatcher = new SpooledStreamReadingDispatcher(publisher);

            _ioDispatcher = new IODispatcher(publisher, new PublishEnvelope(inputQueue));
            _eventReaderCoreService = new EventReaderCoreService(
                publisher,
                _ioDispatcher,
                10,
                db.Config.WriterCheckpoint,
                runHeadingReader: runProjections >= ProjectionType.System);

            _feedReaderService = new FeedReaderService(_subscriptionDispatcher, timeProvider);
            if (runProjections >= ProjectionType.System)
            {
                _projectionCoreServiceCommandReader = new ProjectionCoreServiceCommandReader(
                    publisher,
                    _ioDispatcher,
                    workerId.ToString("N"));

                var multiStreamWriter = new MultiStreamMessageWriter(_ioDispatcher);
                _slaveProjectionResponseWriter = new SlaveProjectionResponseWriter(multiStreamWriter);

                _projectionCoreService = new ProjectionCoreService(
                    workerId,
                    inputQueue,
                    publisher,
                    _subscriptionDispatcher,
                    timeProvider,
                    _ioDispatcher,
                    _spoolProcessingResponseDispatcher,
                    timeoutScheduler);

                var responseWriter = new ResponseWriter(_ioDispatcher);
                _coreResponseWriter = new ProjectionCoreResponseWriter(responseWriter);
            }
        }
 public new void When()
 {
     _exception = null;
     try
     {
         _commandReader = new ProjectionCoreServiceCommandReader(
             _bus,
             _ioDispatcher,
             Guid.NewGuid().ToString("N"));
     }
     catch (Exception ex)
     {
         _exception = ex;
     }
 }
        protected override void Given()
        {
            base.Given();
            AllWritesSucceed();
            NoOtherStreams();

            if (String.IsNullOrEmpty(_coreServiceId))
            {
                _coreServiceId = Guid.NewGuid().ToString("N");
            }

            _commandReader  = new ProjectionCoreServiceCommandReader(_bus, _ioDispatcher, _coreServiceId);
            _responseReader = new ProjectionManagerResponseReader(_bus, _ioDispatcher, _numberOfWorkers);

            _bus.Subscribe <ProjectionCoreServiceMessage.StartCore>(_commandReader);
            _bus.Subscribe <ProjectionCoreServiceMessage.StopCore>(_commandReader);

            _bus.Subscribe <ProjectionManagementMessage.Starting>(_responseReader);
        }