cancelAllRequests method
Cancels all requests in collection.
If retryRequestsAfterProcessing
is true then every request
will be retried after cancelReasonProcessor
is finished
Implementation
Future<void> cancelAllRequests({
Future Function()? cancelReasonProcessor,
bool retryRequestsAfterProcessing = false,
}) async {
final alreadyWaitingForRetry = cancelReasonProcessingCompleter != null;
if (retryRequestsAfterProcessing && !alreadyWaitingForRetry) {
cancelReasonProcessingCompleter = Completer();
}
for (final element in requests) {
element.cancel();
}
if (cancelReasonProcessor != null) {
await cancelReasonProcessor();
if (retryRequestsAfterProcessing) {
if (!(cancelReasonProcessingCompleter?.isCompleted ?? true)) {
cancelReasonProcessingCompleter?.complete();
}
cancelReasonProcessingCompleter = null;
}
}
}