From 65c15a7b6fa36f9e80c879723aea99c903680dbe Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Tue, 11 Oct 2022 16:58:28 +0200 Subject: [PATCH] fix: fixed wrong ICMP response detection (#1111) --- Modules/Net/readers.swift | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Modules/Net/readers.swift b/Modules/Net/readers.swift index e8a7085c..877c0e60 100644 --- a/Modules/Net/readers.swift +++ b/Modules/Net/readers.swift @@ -575,7 +575,7 @@ internal class ConnectivityReader: Reader { } private var lastHost: String = "" private var addr: Data? = nil - private let timeout: TimeInterval = 7 + private let timeout: TimeInterval = 5 private var socket: CFSocket? private var socketSource: CFRunLoopSource? @@ -633,7 +633,7 @@ internal class ConnectivityReader: Reader { } override func setup() { - self.interval = 3 + self.interval = 1 self.addr = self.resolve() self.setConn() @@ -679,12 +679,11 @@ internal class ConnectivityReader: Reader { } private func socketCallback(data: Data? = nil, error: CFSocketError? = nil) { - if let data = data { - self.status = validateResponse(data) - } else { - self.status = false + guard let data = data, validateResponse(data) else { + return } + self.status = error == nil self.isPinging = false self.timeoutTimer?.invalidate() self.timeoutTimer = nil @@ -701,7 +700,7 @@ internal class ConnectivityReader: Reader { let payload = data.subdata(in: (data.count - payloadSize)..