schedulePush method

void schedulePush()

Implementation

void schedulePush() {
  if (_disposed) return;
  final now = DateTime.now();
  _firstScheduledAt ??= now;
  if (now.difference(_firstScheduledAt!) >= maxWait) {
    _debouncer?.cancel();
    _firstScheduledAt = null;
    _debouncer = Timer(Duration.zero, () {
      unawaited(_captureAndPush(force: false));
    });
    return;
  }
  _debouncer?.cancel();
  _debouncer = Timer(debounce, () {
    _firstScheduledAt = null;
    unawaited(_captureAndPush(force: false));
  });
}