reserveTask method
Implementation
DownloadTaskToken reserveTask(
String key, {
required int step,
String label = '',
}) {
final existing = _reservedByKey[key];
if (existing != null) {
if (label.isNotEmpty) _emit(currentLabel: label);
return existing;
}
final stepIndex = step.clamp(0, _stepCount);
_totalByStep[stepIndex] = (_totalByStep[stepIndex] ?? 0) + 1;
final token = DownloadTaskToken(_nextId++, stepIndex);
_reservedByKey[key] = token;
_emit(currentLabel: label.isEmpty ? null : label);
return token;
}