public IProcessor Create()
        {
            var threadActivity = new ThreadActivity(_configuration.Inbox);

            return(new InboxProcessor(_configuration, _events, _configuration.IsWorker
                ? (IThreadActivity) new WorkerThreadActivity(_bus, _configuration, threadActivity)
                : threadActivity, _workerAvailabilityManager, _pipelineFactory));
        }
        public IThreadActivity CreateInboxThreadActivity(IServiceBus bus)
        {
            var threadActivity = new ThreadActivity(bus.Configuration.Inbox);

            return(bus.Configuration.IsWorker
                                ? (IThreadActivity) new WorkerThreadActivity(bus, threadActivity)
                                : threadActivity);
        }
        public WorkerThreadActivity(IServiceBus bus, ThreadActivity threadActivity)
        {
            Guard.AgainstNull(bus, "bus");
            Guard.AgainstNull(threadActivity, "threadActivity");

            _bus            = bus;
            _threadActivity = threadActivity;

            _log = Log.For(this);
        }
        public WorkerThreadActivity(IServiceBus bus, IServiceBusConfiguration configuration, ThreadActivity threadActivity)
        {
            Guard.AgainstNull(configuration, "configuration");
            Guard.AgainstNull(threadActivity, "threadActivity");

            _bus            = bus;
            _configuration  = configuration;
            _threadActivity = threadActivity;

            _log = Log.For(this);
        }
Пример #5
0
        public void Should_be_able_to_have_the_thread_wait()
        {
            var activity = new ThreadActivity(new[]
            {
                TimeSpan.FromMilliseconds(250),
                TimeSpan.FromMilliseconds(500)
            });

            var start = DateTime.Now;
            var token = new CancellationToken(false);

            activity.Waiting(token);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 250);

            activity.Waiting(token);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 750);
        }
Пример #6
0
        public void Should_be_able_to_have_the_thread_wait()
        {
            var activity = new ThreadActivity(new[]
            {
                TimeSpan.FromMilliseconds(250),
                TimeSpan.FromMilliseconds(500)
            });

            var start = DateTime.Now;

            var mockState = new Mock <IThreadState>();

            mockState.Setup(mock => mock.Active).Returns(true);

            activity.Waiting(mockState.Object);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 250);

            activity.Waiting(mockState.Object);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 750);
        }
Пример #7
0
        public void Should_be_able_to_have_the_thread_wait()
        {
            var activity = new ThreadActivity(new[]
                                                  {
                                                      TimeSpan.FromMilliseconds(250),
                                                      TimeSpan.FromMilliseconds(500)
                                                  });

            var start = DateTime.Now;

            var mockState = new Mock<IActiveState>();

            mockState.Setup(mock => mock.Active).Returns(true);

            activity.Waiting(mockState.Object);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 250);

            activity.Waiting(mockState.Object);

            Assert.IsTrue((DateTime.Now - start).TotalMilliseconds >= 750);
        }