diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-03-28 14:57:24 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-04-05 09:12:56 +0200 |
| commit | 455cd2b79885cfd1c71ee0ef3c49a6ddb3bf0555 (patch) | |
| tree | d0adb59a2722f3c3ebaa6461639af82bf07c7ed6 /ios/MullvadVPN/RelayCache | |
| parent | eaeb54da9c31ae3de738980ec04a9f2b40204b21 (diff) | |
| download | mullvadvpn-455cd2b79885cfd1c71ee0ef3c49a6ddb3bf0555.tar.xz mullvadvpn-455cd2b79885cfd1c71ee0ef3c49a6ddb3bf0555.zip | |
Subclass from ResultOperation
Diffstat (limited to 'ios/MullvadVPN/RelayCache')
| -rw-r--r-- | ios/MullvadVPN/RelayCache/RelayCacheTracker.swift | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/ios/MullvadVPN/RelayCache/RelayCacheTracker.swift b/ios/MullvadVPN/RelayCache/RelayCacheTracker.swift index b5e9d87a44..9495c0adeb 100644 --- a/ios/MullvadVPN/RelayCache/RelayCacheTracker.swift +++ b/ios/MullvadVPN/RelayCache/RelayCacheTracker.swift @@ -303,9 +303,8 @@ extension RelayCache.Tracker { } } -fileprivate class UpdateRelaysOperation: AsyncOperation { +fileprivate class UpdateRelaysOperation: ResultOperation<RelayCache.FetchResult, RelayCache.Error> { typealias UpdateHandler = (RelayCache.CachedRelays) -> Void - typealias CompletionHandler = (OperationCompletion<RelayCache.FetchResult, RelayCache.Error>) -> Void private let dispatchQueue: DispatchQueue private let restClient: REST.Client @@ -315,7 +314,6 @@ fileprivate class UpdateRelaysOperation: AsyncOperation { private let logger = Logger(label: "RelayCacheTracker.UpdateRelaysOperation") private let updateHandler: UpdateHandler - private var completionHandler: CompletionHandler? private var downloadCancellable: Cancellable? init(dispatchQueue: DispatchQueue, @@ -329,7 +327,8 @@ fileprivate class UpdateRelaysOperation: AsyncOperation { self.cacheFileURL = cacheFileURL self.relayUpdateInterval = relayUpdateInterval self.updateHandler = updateHandler - self.completionHandler = completionHandler + + super.init(completionQueue: dispatchQueue, completionHandler: completionHandler) } override func main() { @@ -370,15 +369,6 @@ fileprivate class UpdateRelaysOperation: AsyncOperation { } } - private func finish(completion: OperationCompletion<RelayCache.FetchResult, RelayCache.Error>) { - let block = completionHandler - completionHandler = nil - - block?(completion) - - finish() - } - private func didReceiveNewRelays(etag: String?, relays: REST.ServerRelaysResponse) { let numRelays = relays.wireguard.relays.count |
