Respond to CR.

pull/1/head
Matthew Chen 7 years ago
parent 1eb02bfd92
commit a7d712d1b2

@ -95,7 +95,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
successBlock(task, responseObject);
[OutageDetection.sharedManager reportNetworkSuccess];
[OutageDetection.sharedManager reportConnectionSuccess];
};
TSNetworkManagerFailure failure = [TSNetworkManager errorPrettifyingForFailureBlock:failureBlock request:request];
@ -155,7 +155,7 @@ typedef void (^failureBlock)(NSURLSessionDataTask *task, NSError *error);
return ^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull networkError) {
NSInteger statusCode = [task statusCode];
[OutageDetection.sharedManager reportNetworkFailure];
[OutageDetection.sharedManager reportConnectionFailure];
NSError *error = [self errorWithHTTPCode:statusCode
description:nil

@ -18,10 +18,14 @@ public class OutageDetection: NSObject {
didSet {
SwiftAssertIsOnMainThread(#function)
if hasOutage != oldValue {
Logger.info("\(self.logTag) hasOutage: \(hasOutage).")
NotificationCenter.default.postNotificationNameAsync(OutageDetection.outageStateDidChange, object: nil)
}
}
private var mayHaveOutage = false {
}
private var shouldCheckForOutage = false {
didSet {
SwiftAssertIsOnMainThread(#function)
@ -64,6 +68,8 @@ public class OutageDetection: NSObject {
}
private func checkForOutageAsync() {
Logger.info("\(self.logTag) \(#function).")
DispatchQueue.global().async {
let isOutageDetected = self.checkForOutageSync()
DispatchQueue.main.async {
@ -79,7 +85,7 @@ public class OutageDetection: NSObject {
return
}
if mayHaveOutage {
if shouldCheckForOutage {
if checkTimer != nil {
// Already has timer.
return
@ -106,17 +112,17 @@ public class OutageDetection: NSObject {
}
@objc
public func reportNetworkSuccess() {
public func reportConnectionSuccess() {
SwiftAssertIsOnMainThread(#function)
mayHaveOutage = true
shouldCheckForOutage = false
hasOutage = false
}
@objc
public func reportNetworkFailure() {
public func reportConnectionFailure() {
SwiftAssertIsOnMainThread(#function)
mayHaveOutage = false
shouldCheckForOutage = true
}
}

@ -679,7 +679,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
// If socket opens, we know we're not de-registered.
[TSAccountManager.sharedInstance setIsDeregistered:NO];
[OutageDetection.sharedManager reportNetworkSuccess];
[OutageDetection.sharedManager reportConnectionSuccess];
}
- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error {
@ -826,7 +826,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
[self applyDesiredSocketState];
}
[OutageDetection.sharedManager reportNetworkFailure];
[OutageDetection.sharedManager reportConnectionFailure];
}
- (void)webSocket:(SRWebSocket *)webSocket

Loading…
Cancel
Save