private void Loop() { StartTime = DateTime.UtcNow; while (!network.Aborted) { State = VirtualUserStatus.Busy; var request = network.Next(); if (request == null) { break; } log.Debug(Debugging.VirtualUser_PerformingRequest.FormatWith(this)); Perform(request); log.Debug(Debugging.VirtualUser_CompletedRequest.FormatWith(this)); Pause(network.SleepTime); } log.Debug(Debugging.VirtualUser_Completed.FormatWith(this)); }
private void Pause(TimeSpan?delay, DateTime?since = null) { if (State != VirtualUserStatus.Idle) { State = VirtualUserStatus.Sleeping; } if (delay.HasValue) { TimeSpan duration = delay.Value; if (since.HasValue) // offset synchronization. { DateTime now = DateTime.UtcNow; duration = duration - (now - since.Value); } if (duration > TimeSpan.Zero) { Thread.Sleep(duration); } } State = VirtualUserStatus.Idle; }
private void Pause(TimeSpan? delay, DateTime? since = null) { if (State != VirtualUserStatus.Idle) { State = VirtualUserStatus.Sleeping; } if (delay.HasValue) { TimeSpan duration = delay.Value; if (since.HasValue) // offset synchronization. { DateTime now = DateTime.UtcNow; duration = duration - (now - since.Value); } if (duration > TimeSpan.Zero) { Thread.Sleep(duration); } } State = VirtualUserStatus.Idle; }
private int GetCountByStatus(DroneSnapshotDto dto, VirtualUserStatus status) { return(dto.VirtualUsers.Where(vu => vu.Status == status).Sum(vu => vu.Count)); }
private int GetCountByStatus(DroneSnapshotDto dto, VirtualUserStatus status) { return dto.VirtualUsers.Where(vu => vu.Status == status).Sum(vu => vu.Count); }