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);
|
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
resume.NextBlock = i + blocksToRead;
|
resume.NextBlock = i + blocksToRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,8 +394,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
dumpFile.Write(new byte[blockSize]);
|
dumpFile.Write(new byte[blockSize]);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
|
|
||||||
currentBlock++;
|
currentBlock++;
|
||||||
}
|
}
|
||||||
@@ -439,7 +439,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||||
totalChkDuration += chkDuration;
|
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();
|
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();
|
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;
|
resume.NextBlock = i + blocksToRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -828,7 +830,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||||
totalChkDuration += chkDuration;
|
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();
|
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);
|
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;
|
resume.NextBlock = i + blocksToRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -564,7 +565,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||||
totalChkDuration += chkDuration;
|
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();
|
DicConsole.WriteLine();
|
||||||
|
|||||||
@@ -604,7 +604,10 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
totalChkDuration += chkDuration;
|
totalChkDuration += chkDuration;
|
||||||
|
|
||||||
if(currentBlock % 10 == 0)
|
if(currentBlock % 10 == 0)
|
||||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
{
|
||||||
|
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||||
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
|
}
|
||||||
currentBlock++;
|
currentBlock++;
|
||||||
currentSize += blockSize;
|
currentSize += blockSize;
|
||||||
currentFileSize += blockSize;
|
currentFileSize += blockSize;
|
||||||
|
|||||||
@@ -330,8 +330,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
dumpLog.WriteLine("Error reading {0} blocks from block {1}.", blocksToRead, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
resume.NextBlock = i + blocksToRead;
|
resume.NextBlock = i + blocksToRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -422,7 +422,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||||
totalChkDuration += chkDuration;
|
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();
|
DicConsole.WriteLine();
|
||||||
|
|||||||
@@ -430,7 +430,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
foreach(string senseLine in senseLines) dumpLog.WriteLine(senseLine);
|
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;
|
blocksToRead = saveBlocksToRead;
|
||||||
currentSector = i + 1;
|
currentSector = i + 1;
|
||||||
resume.NextBlock = currentSector;
|
resume.NextBlock = currentSector;
|
||||||
@@ -558,7 +559,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
foreach(string senseLine in senseLines) dumpLog.WriteLine(senseLine);
|
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;
|
currentSector += blocksToRead;
|
||||||
resume.NextBlock = currentSector;
|
resume.NextBlock = currentSector;
|
||||||
}
|
}
|
||||||
@@ -765,7 +767,8 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
double chkDuration = (chkEnd - chkStart).TotalMilliseconds;
|
||||||
totalChkDuration += chkDuration;
|
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();
|
DicConsole.WriteLine();
|
||||||
|
|||||||
@@ -157,8 +157,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
|||||||
ibgLog.Write(i, 0);
|
ibgLog.Write(i, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
end = DateTime.UtcNow;
|
end = DateTime.UtcNow;
|
||||||
@@ -237,8 +237,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
|||||||
ibgLog.Write(currentBlock, 0);
|
ibgLog.Write(currentBlock, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = blockSize / (double)1048576 / (duration / 1000);
|
double newSpeed = blockSize / (double)1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
|
|
||||||
currentBlock++;
|
currentBlock++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -344,8 +344,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (cmdDuration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
end = DateTime.UtcNow;
|
end = DateTime.UtcNow;
|
||||||
@@ -402,7 +402,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
|||||||
ibgLog.Write(i, 0);
|
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;
|
end = DateTime.UtcNow;
|
||||||
|
|||||||
@@ -188,8 +188,8 @@ namespace DiscImageChef.Core.Devices.Scanning
|
|||||||
ibgLog.Write(i, 0);
|
ibgLog.Write(i, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
double newSpeed = (double)blockSize * blocksToRead / 1048576 / (duration / 1000);
|
||||||
GC.Collect();
|
if(!double.IsInfinity(newSpeed)) currentSpeed = newSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
end = DateTime.UtcNow;
|
end = DateTime.UtcNow;
|
||||||
|
|||||||
Reference in New Issue
Block a user