diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-03-24 12:27:06 +0100 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-04-05 09:12:56 +0200 |
| commit | 40631675f8a05067260475123ece78db41328a93 (patch) | |
| tree | 0e371b167ed76eef966e128b4d3583ced09da362 /ios/MullvadVPN/AddressCache/AddressCacheTracker.swift | |
| parent | 455cd2b79885cfd1c71ee0ef3c49a6ddb3bf0555 (diff) | |
| download | mullvadvpn-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.swift | 26 |
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() |
