The desired behavior of a progress notification subscription.
public enum ProgressMode
The callback will, upon registration, store the total number of bytes to be transferred. When invoked, it will always report the most up-to-date number of transferable bytes out of that original number of transferable bytes. When the number of transferred bytes reaches or exceeds the number of transferable bytes, the callback will be unregistered.
The callback will be called forever, or until it is unregistered by disposing the subscription token. Notifications will always report the latest number of transferred bytes, and the most up-to-date number of total transferable bytes.