Files
flutter_server_box/lib/data/model/server/try_limiter.dart
lollipopkit 7f4dcc1357 opt.
- add help for ssh virt keys
- rm unused lib
2023-07-29 16:24:47 +08:00

28 lines
534 B
Dart

import '../../../locator.dart';
import '../../store/setting.dart';
class TryLimiter {
final Map<String, int> _triedTimes = {};
bool shouldTry(String id) {
final maxCount = locator<SettingStore>().maxRetryCount.fetch()!;
if (maxCount <= 0) {
return true;
}
final times = _triedTimes[id] ?? 0;
if (times >= maxCount) {
return false;
}
_triedTimes[id] = times + 1;
return true;
}
void reset(String id) {
_triedTimes[id] = 0;
}
void clear() {
_triedTimes.clear();
}
}