mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Check speed doesn't become infinite because command duration was too low.
This commit is contained in:
@@ -277,8 +277,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
resume.NextBlock = i + blocksToRead;
|
||||
}
|
||||
|
||||
@@ -394,8 +394,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
dumpFile.Write(new byte[blockSize]);
|
||||
}
|
||||
|
||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
|
||||
currentBlock++;
|
||||
}
|
||||
@@ -439,7 +439,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
DicConsole.WriteLine();
|
||||
|
||||
@@ -428,7 +428,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
}
|
||||
}
|
||||
|
||||
currentSpeed = blockSize / (double)1048576 / (cmdDuration / 1000);
|
||||
double newSpeed = blockSize / (double)1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
dumpFile.Close();
|
||||
@@ -616,7 +617,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
}
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
resume.NextBlock = i + blocksToRead;
|
||||
}
|
||||
|
||||
@@ -828,7 +830,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
tracks[t].Checksums = trkChk.End().ToArray();
|
||||
|
||||
@@ -385,7 +385,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
double newSpeed= (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
resume.NextBlock = i + blocksToRead;
|
||||
}
|
||||
|
||||
@@ -564,7 +565,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
DicConsole.WriteLine();
|
||||
|
||||
@@ -604,7 +604,10 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
if(currentBlock % 10 == 0)
|
||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
{
|
||||
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
currentBlock++;
|
||||
currentSize += blockSize;
|
||||
currentFileSize += blockSize;
|
||||
|
||||
@@ -330,8 +330,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
resume.NextBlock = i + blocksToRead;
|
||||
}
|
||||
|
||||
@@ -422,7 +422,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
DicConsole.WriteLine();
|
||||
|
||||
@@ -430,7 +430,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
foreach(string senseLine in senseLines) dumpLog.WriteLine(senseLine);
|
||||
}
|
||||
|
||||
currentSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
double newSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
blocksToRead = saveBlocksToRead;
|
||||
currentSector = i + 1;
|
||||
resume.NextBlock = currentSector;
|
||||
@@ -558,7 +559,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
foreach(string senseLine in senseLines) dumpLog.WriteLine(senseLine);
|
||||
}
|
||||
|
||||
currentSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
double newSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
currentSector += blocksToRead;
|
||||
resume.NextBlock = currentSector;
|
||||
}
|
||||
@@ -765,7 +767,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||
totalChkDuration += chkDuration;
|
||||
|
||||
currentSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
double newSpeed = (double)BLOCK_SIZE * blocksToRead / 1048576 / (chkDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
DicConsole.WriteLine();
|
||||
|
||||
@@ -157,8 +157,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
ibgLog.Write(i, 0);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
end = DateTime.UtcNow;
|
||||
@@ -237,8 +237,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
ibgLog.Write(currentBlock, 0);
|
||||
}
|
||||
|
||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
|
||||
currentBlock++;
|
||||
}
|
||||
|
||||
@@ -344,8 +344,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
}
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
end = DateTime.UtcNow;
|
||||
@@ -402,7 +402,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
ibgLog.Write(i, 0);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
end = DateTime.UtcNow;
|
||||
|
||||
@@ -188,8 +188,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
ibgLog.Write(i, 0);
|
||||
}
|
||||
|
||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
GC.Collect();
|
||||
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||
}
|
||||
|
||||
end = DateTime.UtcNow;
|
||||
|
||||
Reference in New Issue
Block a user