Fractional completion in 0,1, or null if total is unknown or zero.
0,1
double? get progressFraction => (total == null || total!.bytes <= 0) ? null : (transferred.bytes / total!.bytes).clamp(0.0, 1.0);