A Progress object provides feedback to callers on the progress of long running operations such as calls to verify or rekey which can take days or weeks for database that measure in the terabytes. These objects are used by passing them as parameters to the appropriate functions, where the will be called periodically with numbers that indicate the amount of work completed, versus the total amount of work required.
In the table below:
X
denotes a progress
class
a
denotes a value of
type X
p
and q
denote values of type std::uint64_t
Table 3. Progress requirements
operation |
type |
semantics, pre/post-conditions |
---|---|---|
|
Indicates to the progress object that work has been performed and
intermediate results calculated. |