waitForExtraction method
Wait for any in-progress extraction to complete (with timeout).
Implementation
Future<void> waitForExtraction() async {
final startTime = DateTime.now();
while (_extractionStartedAt != null) {
final age = DateTime.now().difference(_extractionStartedAt!);
if (age.inMilliseconds > _extractionStaleThresholdMs) return;
if (DateTime.now().difference(startTime).inMilliseconds >
_extractionWaitTimeoutMs) {
return;
}
await Future<void>.delayed(const Duration(seconds: 1));
}
}