cockpitWaitForNonEmptyFile function

Future<bool> cockpitWaitForNonEmptyFile(
  1. File file, {
  2. required Duration timeout,
  3. Duration pollInterval = const Duration(milliseconds: 100),
})

Implementation

Future<bool> cockpitWaitForNonEmptyFile(
  File file, {
  required Duration timeout,
  Duration pollInterval = const Duration(milliseconds: 100),
}) async {
  final deadline = DateTime.now().add(timeout);
  while (DateTime.now().isBefore(deadline)) {
    if (file.existsSync() && file.lengthSync() > 0) {
      return true;
    }
    await Future<void>.delayed(pollInterval);
  }
  return file.existsSync() && file.lengthSync() > 0;
}