Beispiel #1
0
 public ScenarioHandler(IGlobalCountersControl globalCounters, IUniqueIdGenerator <int> threadIterationIdGenerator, IScenario scenario, IIterationControl context)
 {
     _scenario                   = scenario ?? throw new ArgumentNullException(nameof(scenario));
     _context                    = context ?? throw new ArgumentNullException(nameof(context));
     _globalCounters             = globalCounters ?? throw new ArgumentNullException(nameof(globalCounters));
     _threadIterationIdGenerator = threadIterationIdGenerator ?? throw new ArgumentNullException(nameof(threadIterationIdGenerator));
 }
        public IReplayScenarioHandler Create(IIterationControl iterationContext)
        {
            IReplayScenario <TData> scenarioInstance = _scenarioFactory.Create(iterationContext.ThreadId);
            IReplayScenarioHandler  scenarioHandler  = new ReplayScenarioHandler <TData>(_globalCounters, new NotThreadSafeIdGenerator(), scenarioInstance, iterationContext);

            return(scenarioHandler);
        }
Beispiel #3
0
        public IScenarioHandler Create(IIterationControl iterationContext)
        {
            IScenario        scenarioInstance = _factory.Create(iterationContext.ThreadId);
            IScenarioHandler scenarioHandler  = new ScenarioHandler(_globalCounters, new NotThreadSafeIdGenerator(), scenarioInstance, iterationContext);

            return(scenarioHandler);
        }
        public IThread Create()
        {
            IIterationControl iterationContext = _iterationContextFactory.Create();

            IReplayScenarioHandler handler   = _scenarioHandlerFactory.Create(iterationContext);
            IScheduler             scheduler = _schedulerFactory.Create(handler, iterationContext.ThreadId);
            IDataCollector         collector = _dataCollectorFactory.Create(iterationContext);

            IThread thread = _threadFactory.Create(scheduler, handler, collector);

            return(thread);
        }
        public IThread Create()
        {
            IIterationControl iterationContext = _iterationContextFactory.Create();

            // IScenario handler
            IScenarioHandler scenarioHandler = _scenarioHandlerFactory.Create(iterationContext);
            // Scheduler which will Sleep() thread if it needs to wait due to speed limiting strategy.
            IScheduler scheduler = _schedulerFactory.Create(iterationContext);
            // Data collector for results aggregation
            IDataCollector collector = _dataCollectorFactory.Create(iterationContext);

            IThread thread = _threadFactory.Create(scheduler, scenarioHandler, collector);

            return(thread);
        }
Beispiel #6
0
        public ReplayScenarioHandler(IGlobalCountersControl globalCounters, IUniqueIdGenerator <int> threadIterationIdGenerator, IReplayScenario <TData> scenario, IIterationControl context)
            : base(globalCounters, threadIterationIdGenerator, scenario, context)
        {
            _scenario = scenario;

            _dataContext = new DataContext <TData>
            {
                Timer   = context.Timer,
                Execute = true,
                Context = context
            };
        }