Merge branch 'master' of github.com:grpc/grpc into removeMonitor
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m
index 45b03e4..a9b112b 100644
--- a/src/objective-c/GRPCClient/GRPCCall.m
+++ b/src/objective-c/GRPCClient/GRPCCall.m
@@ -33,7 +33,6 @@
#import "private/GRPCCallInternal.h"
#import "private/GRPCChannelPool.h"
#import "private/GRPCCompletionQueue.h"
-#import "private/GRPCConnectivityMonitor.h"
#import "private/GRPCHost.h"
#import "private/GRPCRequestHeaders.h"
#import "private/GRPCWrappedCall.h"
@@ -288,7 +287,6 @@
GRPCCallSafety _callSafety;
GRPCCallOptions *_callOptions;
GRPCWrappedCall *_wrappedCall;
- GRPCConnectivityMonitor *_connectivityMonitor;
// The C gRPC library has less guarantees on the ordering of events than we
// do. Particularly, in the face of errors, there's no ordering guarantee at
@@ -494,8 +492,6 @@
}
- (void)dealloc {
- [GRPCConnectivityMonitor unregisterObserver:self];
-
__block GRPCWrappedCall *wrappedCall = _wrappedCall;
dispatch_async(_callQueue, ^{
wrappedCall = nil;
@@ -794,12 +790,6 @@
[self sendHeaders];
[self invokeCall];
-
- // Connectivity monitor is not required for CFStream
- char *enableCFStream = getenv(kCFStreamVarName);
- if (enableCFStream != nil && enableCFStream[0] != '1') {
- [GRPCConnectivityMonitor registerObserver:self selector:@selector(connectivityChanged:)];
- }
}
// Now that the RPC has been initiated, request writes can start.
diff --git a/src/objective-c/GRPCClient/private/GRPCChannelPool.m b/src/objective-c/GRPCClient/private/GRPCChannelPool.m
index 60a33ed..683e203 100644
--- a/src/objective-c/GRPCClient/private/GRPCChannelPool.m
+++ b/src/objective-c/GRPCClient/private/GRPCChannelPool.m
@@ -24,7 +24,6 @@
#import "GRPCChannelPool+Test.h"
#import "GRPCChannelPool.h"
#import "GRPCCompletionQueue.h"
-#import "GRPCConnectivityMonitor.h"
#import "GRPCCronetChannelFactory.h"
#import "GRPCInsecureChannelFactory.h"
#import "GRPCSecureChannelFactory.h"
@@ -215,18 +214,12 @@
- (instancetype)initPrivate {
if ((self = [super init])) {
_channelPool = [NSMutableDictionary dictionary];
-
- // Connectivity monitor is not required for CFStream
- char *enableCFStream = getenv(kCFStreamVarName);
- if (enableCFStream == nil || enableCFStream[0] != '1') {
- [GRPCConnectivityMonitor registerObserver:self selector:@selector(connectivityChange:)];
- }
}
return self;
}
- (void)dealloc {
- [GRPCConnectivityMonitor unregisterObserver:self];
+
}
- (GRPCPooledChannel *)channelWithHost:(NSString *)host callOptions:(GRPCCallOptions *)callOptions {
diff --git a/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.h b/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.h
deleted file mode 100644
index d4b49b1..0000000
--- a/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *
- * Copyright 2016 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#import <Foundation/Foundation.h>
-#import <SystemConfiguration/SystemConfiguration.h>
-
-typedef NS_ENUM(NSInteger, GRPCConnectivityStatus) {
- GRPCConnectivityUnknown = 0,
- GRPCConnectivityNoNetwork = 1,
- GRPCConnectivityCellular = 2,
- GRPCConnectivityWiFi = 3,
-};
-
-extern NSString* _Nonnull kGRPCConnectivityNotification;
-
-// This interface monitors OS reachability interface for any network status
-// change. Parties interested in these events should register themselves as
-// observer.
-@interface GRPCConnectivityMonitor : NSObject
-
-- (nonnull instancetype)init NS_UNAVAILABLE;
-
-// Register an object as observer of network status change. \a observer
-// must have a notification method with one parameter of type
-// (NSNotification *) and should pass it to parameter \a selector. The
-// parameter of this notification method is not used for now.
-+ (void)registerObserver:(_Nonnull id)observer selector:(_Nonnull SEL)selector;
-
-// Ungegister an object from observers of network status change.
-+ (void)unregisterObserver:(_Nonnull id)observer;
-
-@end
diff --git a/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.m b/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.m
deleted file mode 100644
index bb8618f..0000000
--- a/src/objective-c/GRPCClient/private/GRPCConnectivityMonitor.m
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *
- * Copyright 2016 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#import "GRPCConnectivityMonitor.h"
-
-#include <netinet/in.h>
-
-NSString *kGRPCConnectivityNotification = @"kGRPCConnectivityNotification";
-
-static SCNetworkReachabilityRef reachability;
-static GRPCConnectivityStatus currentStatus;
-
-// Aggregate information in flags into network status.
-GRPCConnectivityStatus CalculateConnectivityStatus(SCNetworkReachabilityFlags flags) {
- GRPCConnectivityStatus result = GRPCConnectivityUnknown;
- if (((flags & kSCNetworkReachabilityFlagsReachable) == 0) ||
- ((flags & kSCNetworkReachabilityFlagsConnectionRequired) != 0)) {
- return GRPCConnectivityNoNetwork;
- }
- result = GRPCConnectivityWiFi;
-#if TARGET_OS_IPHONE
- if (flags & kSCNetworkReachabilityFlagsIsWWAN) {
- return result = GRPCConnectivityCellular;
- }
-#endif
- return result;
-}
-
-static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags,
- void *info) {
- GRPCConnectivityStatus newStatus = CalculateConnectivityStatus(flags);
-
- if (newStatus != currentStatus) {
- [[NSNotificationCenter defaultCenter] postNotificationName:kGRPCConnectivityNotification
- object:nil];
- currentStatus = newStatus;
- }
-}
-
-@implementation GRPCConnectivityMonitor
-
-+ (void)initialize {
- if (self == [GRPCConnectivityMonitor self]) {
- struct sockaddr_in addr = {0};
- addr.sin_len = sizeof(addr);
- addr.sin_family = AF_INET;
- reachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&addr);
- currentStatus = GRPCConnectivityUnknown;
-
- SCNetworkConnectionFlags flags;
- if (SCNetworkReachabilityGetFlags(reachability, &flags)) {
- currentStatus = CalculateConnectivityStatus(flags);
- }
-
- SCNetworkReachabilityContext context = {0, (__bridge void *)(self), NULL, NULL, NULL};
- if (!SCNetworkReachabilitySetCallback(reachability, ReachabilityCallback, &context) ||
- !SCNetworkReachabilityScheduleWithRunLoop(reachability, CFRunLoopGetMain(),
- kCFRunLoopCommonModes)) {
- NSLog(@"gRPC connectivity monitor fail to set");
- }
- }
-}
-
-+ (void)registerObserver:(id)observer selector:(SEL)selector {
- [[NSNotificationCenter defaultCenter] addObserver:observer
- selector:selector
- name:kGRPCConnectivityNotification
- object:nil];
-}
-
-+ (void)unregisterObserver:(id)observer {
- [[NSNotificationCenter defaultCenter] removeObserver:observer];
-}
-
-@end
diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m
index 24348c3..63ffc92 100644
--- a/src/objective-c/GRPCClient/private/GRPCHost.m
+++ b/src/objective-c/GRPCClient/private/GRPCHost.m
@@ -28,7 +28,6 @@
#import "../internal/GRPCCallOptions+Internal.h"
#import "GRPCChannelFactory.h"
#import "GRPCCompletionQueue.h"
-#import "GRPCConnectivityMonitor.h"
#import "GRPCCronetChannelFactory.h"
#import "GRPCSecureChannelFactory.h"
#import "NSDictionary+GRPC.h"