fix?: may have fixed the ICMPing helper

This commit is contained in:
Qv2ray-dev 2020-07-07 11:28:28 +08:00
parent 3e5896784d
commit 062594076b
No known key found for this signature in database
GPG Key ID: E7FAEFAFCD031D4B
2 changed files with 5 additions and 6 deletions

View File

@ -1 +1 @@
5717 5718

View File

@ -30,13 +30,11 @@ namespace Qv2ray::components::latency
{ {
case ICMPING: case ICMPING:
{ {
icmping::ICMPPing ping(30); icmping::ICMPPing pingHelper(30);
for (auto i = 0; i < count; i++) for (auto i = 0; i < count; i++)
{ {
resultData.totalCount++; resultData.totalCount++;
const auto pair = ping.ping(host); const auto [_latency, errMessage] = pingHelper.ping(host);
const auto &errMessage = pair.second;
const long _latency = pair.first;
if (!errMessage.isEmpty()) if (!errMessage.isEmpty())
{ {
resultData.errorMessage.append(NEWLINE + errMessage); resultData.errorMessage.append(NEWLINE + errMessage);
@ -54,9 +52,10 @@ namespace Qv2ray::components::latency
resultData.worst = std::max(resultData.worst, _latency); resultData.worst = std::max(resultData.worst, _latency);
} }
} }
if (resultData.totalCount != 0 && resultData.failedCount != 0) if (resultData.totalCount > 0 && resultData.failedCount != resultData.totalCount)
{ {
resultData.errorMessage.clear(); resultData.errorMessage.clear();
// ms to s
resultData.avg = resultData.avg / (resultData.totalCount - resultData.failedCount) / 1000; resultData.avg = resultData.avg / (resultData.totalCount - resultData.failedCount) / 1000;
} }
else else