summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPN/AddressCache/AddressCacheTracker.swift
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2022-03-24 12:27:06 +0100
committerAndrej Mihajlov <and@mullvad.net>2022-04-05 09:12:56 +0200
commit40631675f8a05067260475123ece78db41328a93 (patch)
tree0e371b167ed76eef966e128b4d3583ced09da362 /ios/MullvadVPN/AddressCache/AddressCacheTracker.swift
parent455cd2b79885cfd1c71ee0ef3c49a6ddb3bf0555 (diff)
downloadmullvadvpn-40631675f8a05067260475123ece78db41328a93.tar.xz
mullvadvpn-40631675f8a05067260475123ece78db41328a93.zip
UpdateAddressCacheOperation: subclass from ResultOperation
Diffstat (limited to 'ios/MullvadVPN/AddressCache/AddressCacheTracker.swift')
-rw-r--r--ios/MullvadVPN/AddressCache/AddressCacheTracker.swift26
1 files changed, 14 insertions, 12 deletions
diff --git a/ios/MullvadVPN/AddressCache/AddressCacheTracker.swift b/ios/MullvadVPN/AddressCache/AddressCacheTracker.swift
index 8502d12ffc..de84265b1e 100644
--- a/ios/MullvadVPN/AddressCache/AddressCacheTracker.swift
+++ b/ios/MullvadVPN/AddressCache/AddressCacheTracker.swift
@@ -83,16 +83,16 @@ extension AddressCache {
}
}
- func updateEndpoints(completionHandler: ((_ result: CacheUpdateResult) -> Void)? = nil) -> Cancellable {
+ func updateEndpoints(completionHandler: ((_ completion: OperationCompletion<CacheUpdateResult, Error>) -> Void)? = nil) -> Cancellable {
let operation = UpdateAddressCacheOperation(
queue: stateQueue,
restClient: restClient,
store: store,
updateInterval: Self.updateInterval,
- completionHandler: { [weak self] result in
- self?.handleCacheUpdateResult(result)
+ completionHandler: { [weak self] completion in
+ self?.handleCacheUpdateCompletion(completion)
- completionHandler?(result)
+ completionHandler?(completion)
}
)
@@ -144,20 +144,22 @@ extension AddressCache {
}
}
- private func handleCacheUpdateResult(_ result: AddressCache.CacheUpdateResult) {
- switch result {
- case .success:
- logger.debug("Finished updating address cache")
+ private func handleCacheUpdateCompletion(_ completion: OperationCompletion<AddressCache.CacheUpdateResult, Error>) {
+ switch completion {
+ case .success(let updateResult):
+ switch updateResult {
+ case .finished:
+ logger.debug("Finished updating address cache")
+ case .throttled:
+ logger.debug("Address cache update was throttled")
+ }
+
lastFailureAttemptDate = nil
case .failure(let error):
logger.error(chainedError: AnyChainedError(error), message: "Failed to update address cache")
lastFailureAttemptDate = Date()
- case .throttled:
- logger.debug("Address cache update was throttled")
- lastFailureAttemptDate = nil
-
case .cancelled:
logger.debug("Address cache update was cancelled")
lastFailureAttemptDate = Date()