debounce method
void
debounce()
Signals that all future operations until a certain time should be cancelled.
Implementation
void debounce() {
_tries++;
final half = timeout ~/ 2;
_expiry = DateTime.now().millisecondsSinceEpoch + _random.nextInt(max(1, half)) + half;
}