diff --git a/Modules/Net/readers.swift b/Modules/Net/readers.swift index 38e6d620..41ab63cd 100644 --- a/Modules/Net/readers.swift +++ b/Modules/Net/readers.swift @@ -669,42 +669,26 @@ internal class ConnectivityReader: Reader { private var _status: Bool? = nil private var status: Bool? { - get { - self.variablesQueue.sync { self._status } - } - set { - self.variablesQueue.sync { self._status = newValue } - } + get { self.variablesQueue.sync { self._status } } + set { self.variablesQueue.sync { self._status = newValue } } } private var _timeoutTimer: Timer? private var timeoutTimer: Timer? { - get { - self.variablesQueue.sync { self._timeoutTimer } - } - set { - self.variablesQueue.sync { self._timeoutTimer = newValue } - } + get { self.variablesQueue.sync { self._timeoutTimer } } + set { self.variablesQueue.sync { self._timeoutTimer = newValue } } } private var _isPinging: Bool = false private var isPinging: Bool { - get { - self.variablesQueue.sync { self._isPinging } - } - set { - self.variablesQueue.sync { self._isPinging = newValue } - } + get { self.variablesQueue.sync { self._isPinging } } + set { self.variablesQueue.sync { self._isPinging = newValue } } } private var _latency: Double? = nil private var latency: Double? { - get { - self.variablesQueue.sync { self._latency } - } - set { - self.variablesQueue.sync { self._latency = newValue } - } + get { self.variablesQueue.sync { self._latency } } + set { self.variablesQueue.sync { self._latency = newValue } } } var start: DispatchTime? = nil @@ -733,6 +717,14 @@ internal class ConnectivityReader: Reader { override func setup() { self.setInterval(Store.shared.int(key: "Network_updateICMPInterval", defaultValue: 1)) + self.prepare() + } + + deinit { + self.closeConn() + } + + private func prepare() { DispatchQueue.global(qos: .background).async { self.addr = self.resolve() self.openConn() @@ -740,10 +732,6 @@ internal class ConnectivityReader: Reader { } } - deinit { - self.closeConn() - } - override func read() { guard !self.host.isEmpty else { if self.socket != nil { @@ -753,7 +741,7 @@ internal class ConnectivityReader: Reader { } if self.socket == nil { - self.setup() + self.prepare() } if self.lastHost != self.host {