public DurationBasedEngine(OfficeWorkerDetail worker, ActivityQueueBase activity, ActivityPacingInfo info, int expirationMinutes) : base(activity, info) { //we don't have a start/stop time _delay = new ActivityDelay(worker); _expiration = TimeSpan.FromMinutes(expirationMinutes > 0 ? expirationMinutes : 0); }
public SetPaceBasedEngine(OfficeWorkerDetail detail, ActivityQueueBase activity, ActivityPacingInfo info, int expirationMinutes) : base(activity, info) { RandomizeActivities = detail.RandomizeActivities; _pace = TimeSpan.FromSeconds(detail.MinActivityDelay); _expiration = TimeSpan.FromMinutes(detail.DurationTime); }
/// <summary> /// Initializes a new instance of the <see cref="EngineBase"/> class. /// </summary> /// <param name="activityqueue"></param> /// <param name="info"></param> protected EngineBase(ActivityQueueBase activityqueue, ActivityPacingInfo info) { if (activityqueue == null) { throw new ArgumentNullException("artivityqueue"); } if (info == null) { throw new ArgumentNullException("info"); } ActivityQueue = activityqueue; PacingInfo = info; }
/// <summary> /// Initializes a new instance of the <see cref="EngineBase"/> class. /// </summary> /// <param name="resourceType">Type of the resource.</param> /// <param name="metadataDetail">The detail.</param> /// <param name="workerDetail"></param> protected EngineBase(VirtualResourceType resourceType, LoadTesterMetadataDetail metadataDetail, OfficeWorkerDetail workerDetail) { if (metadataDetail == null) { throw new ArgumentNullException("metadataDetail"); } if (!metadataDetail.Enabled) { throw new ArgumentException("MetadataDetail is not enabled", "metadataDetail"); } ExecutionHalted = false; ActivityQueue = new OfficeWorkerActivityQueue(new Collection <ResourceMetadataDetail>() { metadataDetail }, OnActivityStateChanged, workerDetail); }
/// <summary> /// Initializes a new instance of the <see cref="EngineBase"/> class. /// </summary> protected EngineBase(VirtualResourceType resourceType, Collection <ResourceMetadataDetail> details, OfficeWorkerDetail workerDetail) { if (details == null) { throw new ArgumentNullException("details"); } // Create the queue of activities based on the resource metadata details that are enabled var enabledActivityDetails = new Collection <ResourceMetadataDetail>(details.Where(x => x.Enabled).ToList()); ExecutionHalted = false; switch (resourceType) { case VirtualResourceType.AdminWorker: ActivityQueue = new AdminWorkerActivityQueue(enabledActivityDetails, OnActivityStateChanged, workerDetail); break; default: ActivityQueue = new OfficeWorkerActivityQueue(enabledActivityDetails, OnActivityStateChanged, workerDetail); break; } PacingInfo.ExecutionMode = workerDetail.ExecutionMode; }