mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Call event for speed progress more smoothly.
This commit is contained in:
@@ -151,14 +151,12 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else results.A += blocksToRead;
|
||||
|
||||
ScanTime?.Invoke(i, duration);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
mhddLog.Write(i, duration);
|
||||
ibgLog.Write(i, currentSpeed * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScanUnreadable?.Invoke(i);
|
||||
ScanSpeed?.Invoke(i, 0);
|
||||
results.Errored += blocksToRead;
|
||||
for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b);
|
||||
|
||||
@@ -173,6 +171,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
if(elapsed < 1) continue;
|
||||
|
||||
currentSpeed = sectorSpeedStart * blockSize / (1048576 * elapsed);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
sectorSpeedStart = 0;
|
||||
timeSpeedStart = DateTime.UtcNow;
|
||||
}
|
||||
@@ -250,14 +249,12 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else results.A += blocksToRead;
|
||||
|
||||
ScanTime?.Invoke(currentBlock, duration);
|
||||
ScanSpeed?.Invoke(currentBlock, currentSpeed * 1024);
|
||||
mhddLog.Write(currentBlock, duration);
|
||||
ibgLog.Write(currentBlock, currentSpeed * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScanUnreadable?.Invoke(currentBlock);
|
||||
ScanSpeed?.Invoke(currentBlock, 0);
|
||||
results.Errored += blocksToRead;
|
||||
results.UnreadableSectors.Add(currentBlock);
|
||||
mhddLog.Write(currentBlock, duration < 500 ? 65535 : duration);
|
||||
@@ -272,6 +269,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
if(elapsed < 1) continue;
|
||||
|
||||
currentSpeed = sectorSpeedStart * blockSize / (1048576 * elapsed);
|
||||
ScanSpeed?.Invoke(currentBlock, currentSpeed * 1024);
|
||||
sectorSpeedStart = 0;
|
||||
timeSpeedStart = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
@@ -319,7 +319,6 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else results.A += blocksToRead;
|
||||
|
||||
ScanTime?.Invoke(i, cmdDuration);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
mhddLog.Write(i, cmdDuration);
|
||||
ibgLog.Write(i, currentSpeed * 1024);
|
||||
}
|
||||
@@ -340,6 +339,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
results.Errored += blocksToRead;
|
||||
for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b);
|
||||
|
||||
ScanUnreadable?.Invoke(i);
|
||||
mhddLog.Write(i, cmdDuration < 500 ? 65535 : cmdDuration);
|
||||
|
||||
ibgLog.Write(i, 0);
|
||||
@@ -348,7 +348,6 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else
|
||||
{
|
||||
ScanUnreadable?.Invoke(i);
|
||||
ScanSpeed?.Invoke(i, 0);
|
||||
results.Errored += blocksToRead;
|
||||
for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b);
|
||||
|
||||
@@ -364,6 +363,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
if(elapsed < 1) continue;
|
||||
|
||||
currentSpeed = sectorSpeedStart * blockSize / (1048576 * elapsed);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
sectorSpeedStart = 0;
|
||||
timeSpeedStart = DateTime.UtcNow;
|
||||
}
|
||||
@@ -416,7 +416,6 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else results.A += blocksToRead;
|
||||
|
||||
ScanTime?.Invoke(i, cmdDuration);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
mhddLog.Write(i, cmdDuration);
|
||||
ibgLog.Write(i, currentSpeed * 1024);
|
||||
}
|
||||
@@ -424,7 +423,6 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else
|
||||
{
|
||||
ScanUnreadable?.Invoke(i);
|
||||
ScanSpeed?.Invoke(i, 0);
|
||||
results.Errored += blocksToRead;
|
||||
for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b);
|
||||
|
||||
@@ -438,6 +436,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
if(elapsed < 1) continue;
|
||||
|
||||
currentSpeed = sectorSpeedStart * blockSize / (1048576 * elapsed);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
sectorSpeedStart = 0;
|
||||
timeSpeedStart = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
@@ -182,14 +182,12 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
else results.A += blocksToRead;
|
||||
|
||||
ScanTime?.Invoke(i, duration);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
mhddLog.Write(i, duration);
|
||||
ibgLog.Write(i, currentSpeed * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScanUnreadable?.Invoke(i);
|
||||
ScanSpeed?.Invoke(i, 0);
|
||||
results.Errored += blocksToRead;
|
||||
for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b);
|
||||
|
||||
@@ -204,6 +202,7 @@ namespace DiscImageChef.Core.Devices.Scanning
|
||||
if(elapsed < 1) continue;
|
||||
|
||||
currentSpeed = sectorSpeedStart * blockSize / (1048576 * elapsed);
|
||||
ScanSpeed?.Invoke(i, currentSpeed * 1024);
|
||||
sectorSpeedStart = 0;
|
||||
timeSpeedStart = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user