summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN/RelayCache
diff options
context:
space:
mode:
Diffstat (limited to 'ios/MullvadVPN/RelayCache')
-rw-r--r--ios/MullvadVPN/RelayCache/RelayCacheTracker.swift16
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