pollStatus method

Future<ConnectionStatus?> pollStatus(
  1. Duration timeout
)

Implementation

Future<ConnectionStatus?> pollStatus(Duration timeout) async {
  var keepGoing = true;
  final timer = Timer(timeout, () {
    _log.warning('Connection to provisioned access point timed out');
    keepGoing = false;
  });
  ConnectionStatus? status;

  while (keepGoing) {
    status = await getStatus();

    if (status.isTerminal()) {
      timer.cancel();
      return status;
    }
    await Future<void>.delayed(const Duration(seconds: 1));
  }

  return status;
}