public IThreadActivity CreateInboxThreadActivity(IServiceBus bus)
        {
            var threadActivity = new ThreadActivity(bus.Configuration.Inbox);

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

            return bus.Configuration.IsWorker
                       ? (IThreadActivity) new WorkerThreadActivity(bus, threadActivity)
                       : threadActivity;
        }
Example #3
0
        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, ThreadActivity threadActivity)
        {
            Guard.AgainstNull(bus, "bus");
            Guard.AgainstNull(threadActivity, "threadActivity");

            this.bus = bus;
            this.threadActivity = threadActivity;

            log = Log.For(this);
        }
Example #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 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);
        }