better interval
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
08f9b3760f
commit
812c0c7fe1
@ -45,7 +45,7 @@ class _PeersViewState extends State<_PeersView> with WindowListener {
|
|||||||
var _lastChangeTime = DateTime.now();
|
var _lastChangeTime = DateTime.now();
|
||||||
var _lastQueryPeers = <String>{};
|
var _lastQueryPeers = <String>{};
|
||||||
var _lastQueryTime = DateTime.now().subtract(const Duration(hours: 1));
|
var _lastQueryTime = DateTime.now().subtract(const Duration(hours: 1));
|
||||||
var _queryCoun = 0;
|
var _queryCount = 0;
|
||||||
var _exit = false;
|
var _exit = false;
|
||||||
|
|
||||||
late final mobileWidth = () {
|
late final mobileWidth = () {
|
||||||
@ -78,12 +78,12 @@ class _PeersViewState extends State<_PeersView> with WindowListener {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onWindowFocus() {
|
void onWindowFocus() {
|
||||||
_queryCoun = 0;
|
_queryCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onWindowMinimize() {
|
void onWindowMinimize() {
|
||||||
_queryCoun = _maxQueryCount;
|
_queryCount = _maxQueryCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -149,6 +149,7 @@ class _PeersViewState extends State<_PeersView> with WindowListener {
|
|||||||
// ignore: todo
|
// ignore: todo
|
||||||
// TODO: variables walk through async tasks?
|
// TODO: variables walk through async tasks?
|
||||||
void _startCheckOnlines() {
|
void _startCheckOnlines() {
|
||||||
|
final queryInterval = const Duration(seconds: 20);
|
||||||
() async {
|
() async {
|
||||||
while (!_exit) {
|
while (!_exit) {
|
||||||
final now = DateTime.now();
|
final now = DateTime.now();
|
||||||
@ -158,18 +159,18 @@ class _PeersViewState extends State<_PeersView> with WindowListener {
|
|||||||
platformFFI.ffiBind
|
platformFFI.ffiBind
|
||||||
.queryOnlines(ids: _curPeers.toList(growable: false));
|
.queryOnlines(ids: _curPeers.toList(growable: false));
|
||||||
_lastQueryPeers = {..._curPeers};
|
_lastQueryPeers = {..._curPeers};
|
||||||
_lastQueryTime = DateTime.now();
|
_lastQueryTime = DateTime.now().subtract(queryInterval);
|
||||||
_queryCoun = 0;
|
_queryCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_queryCoun < _maxQueryCount) {
|
if (_queryCount < _maxQueryCount) {
|
||||||
if (now.difference(_lastQueryTime) > const Duration(seconds: 20)) {
|
if (now.difference(_lastQueryTime) > queryInterval) {
|
||||||
if (_curPeers.isNotEmpty) {
|
if (_curPeers.isNotEmpty) {
|
||||||
platformFFI.ffiBind
|
platformFFI.ffiBind
|
||||||
.queryOnlines(ids: _curPeers.toList(growable: false));
|
.queryOnlines(ids: _curPeers.toList(growable: false));
|
||||||
_lastQueryTime = DateTime.now();
|
_lastQueryTime = DateTime.now();
|
||||||
_queryCoun += 1;
|
_queryCount += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user