Improve the progress calculator for multithreaded progress.

This commit is contained in:
Mike Auty
2017-07-13 01:31:47 +01:00
parent a5e8d98a9c
commit a4bb297db7
+2 -1
View File
@@ -214,7 +214,8 @@ class DataLayerInterface(configuration.ConfigurableInterface, validity.ValidityR
def _scan_chunk(self, scanner, min_address, max_address, progress, iterator_value):
length = min(scanner.chunk_size + scanner.overlap, max_address - iterator_value)
chunk = self.read(iterator_value, length)
progress.value = iterator_value
# Don't include the overlaps, or we'll go over 100%
progress.value += min(scanner.chunk_size, max_address - iterator_value)
return list(scanner(chunk, iterator_value))
def _scan_metric(self, _scanner, min_address, max_address, value):