markFailure method

bool markFailure(
  1. Object error, {
  2. Duration logThrottle = defaultFailureLogThrottle,
})

Implementation

bool markFailure(
  Object error, {
  Duration logThrottle = defaultFailureLogThrottle,
}) {
  if (!isBackendReachabilityFailure(error)) return false;

  final message = _messageFrom(error);
  final now = DateTime.now();
  final shouldLog = _lastFailureLoggedAt == null ||
      _lastFailureMessage != message ||
      now.difference(_lastFailureLoggedAt!) >= logThrottle;
  _lastFailureLoggedAt = shouldLog ? now : _lastFailureLoggedAt;
  _lastFailureMessage = message;
  return shouldLog;
}