waitForExtraction method

Future<void> waitForExtraction()

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));
  }
}