public UnitType Execute(IUpdateContext <GeneratorState> context) { if (!context.State.ExperimentIsFinished) { var thingToRun = Workload.GenerateRequest(GeneratorNumber, Iteration); context.Logger.LogTrace($"Harness.Generator{GeneratorNumber} issues {thingToRun} "); // fork the payload orchestration context.ForkOrchestration(thingToRun); // schedule next iteration context.ScheduleLocalUpdate(DelayBetweenRequests, new GeneratorIteration() { GeneratorNumber = GeneratorNumber, Iteration = Iteration + 1, DelayBetweenRequests = DelayBetweenRequests, Workload = Workload }); } else { context.Logger.LogTrace($"Harness.Generator{GeneratorNumber} is done "); } return(UnitType.Value); }