From ad93106da012bcd2080d229ab5b6c61dd2f59fed Mon Sep 17 00:00:00 2001 From: Muxi Yan <mxyan@google.com> Date: Sat, 22 Oct 2016 12:00:37 -0700 Subject: [PATCH] Keep a singleton of connectivity monitor in GRPCHost --- src/objective-c/GRPCClient/private/GRPCHost.m | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index 9d7b3a7f0b..7031e01eb1 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -100,19 +100,16 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; _address = address; _secure = YES; kHostCache[address] = self; - - // When there is host in the cache, keep a single monitor to the network - // to - // flush the cache if the connectivity status changed - if (!connectivityMonitor) { - connectivityMonitor = - [GRPCConnectivityMonitor monitorWithHost:hostURL.host]; - void (^handler)() = ^{ - [GRPCHost flushChannelCache]; - }; - [connectivityMonitor handleLossWithHandler:handler - wifiStatusChangeHandler:handler]; - } + } + // Keep a single monitor to flush the cache if the connectivity status changed + if (!connectivityMonitor) { + connectivityMonitor = + [GRPCConnectivityMonitor monitorWithHost:hostURL.host]; + void (^handler)() = ^{ + [GRPCHost flushChannelCache]; + }; + [connectivityMonitor handleLossWithHandler:handler + wifiStatusChangeHandler:handler]; } } return self; @@ -125,8 +122,6 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; BOOL * _Nonnull stop) { [host disconnect]; }]; - [kHostCache removeAllObjects]; - connectivityMonitor = nil; } } -- GitLab