public bool UpdateProgress(long bytesRead)
{
Position += bytesRead;
speedTest += bytesRead;
if (Position >= Length)
{
startTimer.Stop();
return(true);
}
if (smoothTimer.ElapsedMilliseconds > smoothTime)
{
averageSpeed.Enqueue(speedTest / smoothTimer.Elapsed.TotalSeconds);
Speed = averageSpeed.Average();
speedTest = 0;
smoothTimer.Reset();
smoothTimer.Start();
return(true);
}
return(false);
}