public void Run(StopWatch stopWatch)
        {
            stopWatch.Start();

            CheckPoint point         = stopWatch.Mark("Correlated Requests");
            CheckPoint responsePoint = stopWatch.Mark("Correlated Responses");

            var pool = new ManagedThreadPool <CorrelatedController>(DoWorker, 10, 10);

            try
            {
                for (int index = 0; index < _attempts; index++)
                {
                    var controller = new CorrelatedController(_bus, OnSuccess, OnTimeout);
                    pool.Enqueue(controller);
                }

                point.Complete(_attempts);

                _finishedEvent.WaitOne(TimeSpan.FromSeconds(60), true);

                responsePoint.Complete(_timeouts + _successes);
            }
            finally
            {
                pool.Dispose();
            }

            Console.WriteLine("Attempts: {0}, Succeeded: {1}, Timeouts: {2}", _attempts, _successes, _timeouts);

            stopWatch.Stop();
        }
Exemplo n.º 2
0
		public void Run(StopWatch stopWatch)
		{
			stopWatch.Start();

			CheckPoint point = stopWatch.Mark("Correlated Requests");
		    CheckPoint responsePoint = stopWatch.Mark("Correlated Responses");

		    var pool = new ManagedThreadPool<CorrelatedController>(DoWorker, 10, 10);
            try
            {

                for (int index = 0; index < _attempts; index++)
                {
                    var controller = new CorrelatedController(_bus, OnSuccess, OnTimeout);
                    pool.Enqueue(controller);
                }

                point.Complete(_attempts);

                _finishedEvent.WaitOne(TimeSpan.FromSeconds(60), true);

                responsePoint.Complete(_timeouts + _successes);
            }
            finally
            {
                pool.Dispose();
            }

			Console.WriteLine("Attempts: {0}, Succeeded: {1}, Timeouts: {2}", _attempts, _successes, _timeouts);

			stopWatch.Stop();
		}
Exemplo n.º 3
0
 public void Dispose()
 {
     _threads.Dispose();
     _bus.Dispose();
     _container.Dispose();
 }