mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 15:24:35 +01:00
new: manual refresh failed servers
This commit is contained in:
@@ -3,27 +3,29 @@ import 'package:toolbox/data/res/store.dart';
|
||||
class TryLimiter {
|
||||
final Map<String, int> _triedTimes = {};
|
||||
|
||||
bool canTry(String id) {
|
||||
static final _default = TryLimiter();
|
||||
|
||||
static bool canTry(String id) {
|
||||
final maxCount = Stores.setting.maxRetryCount.fetch();
|
||||
if (maxCount <= 0) {
|
||||
return true;
|
||||
}
|
||||
final times = _triedTimes[id] ?? 0;
|
||||
final times = _default._triedTimes[id] ?? 0;
|
||||
if (times >= maxCount) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void inc(String sid) {
|
||||
_triedTimes[sid] = (_triedTimes[sid] ?? 0) + 1;
|
||||
static void inc(String sid) {
|
||||
_default._triedTimes[sid] = (_default._triedTimes[sid] ?? 0) + 1;
|
||||
}
|
||||
|
||||
void reset(String id) {
|
||||
_triedTimes[id] = 0;
|
||||
static void reset(String id) {
|
||||
_default._triedTimes[id] = 0;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
_triedTimes.clear();
|
||||
static void clear() {
|
||||
_default._triedTimes.clear();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user