|
|
@ -100,19 +100,16 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; |
|
|
|
_address = address; |
|
|
|
_address = address; |
|
|
|
_secure = YES; |
|
|
|
_secure = YES; |
|
|
|
kHostCache[address] = self; |
|
|
|
kHostCache[address] = self; |
|
|
|
|
|
|
|
} |
|
|
|
// When there is host in the cache, keep a single monitor to the network |
|
|
|
// Keep a single monitor to flush the cache if the connectivity status changed |
|
|
|
// to |
|
|
|
if (!connectivityMonitor) { |
|
|
|
// flush the cache if the connectivity status changed |
|
|
|
connectivityMonitor = |
|
|
|
if (!connectivityMonitor) { |
|
|
|
[GRPCConnectivityMonitor monitorWithHost:hostURL.host]; |
|
|
|
connectivityMonitor = |
|
|
|
void (^handler)() = ^{ |
|
|
|
[GRPCConnectivityMonitor monitorWithHost:hostURL.host]; |
|
|
|
[GRPCHost flushChannelCache]; |
|
|
|
void (^handler)() = ^{ |
|
|
|
}; |
|
|
|
[GRPCHost flushChannelCache]; |
|
|
|
[connectivityMonitor handleLossWithHandler:handler |
|
|
|
}; |
|
|
|
wifiStatusChangeHandler:handler]; |
|
|
|
[connectivityMonitor handleLossWithHandler:handler |
|
|
|
|
|
|
|
wifiStatusChangeHandler:handler]; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return self; |
|
|
|
return self; |
|
|
@ -125,8 +122,6 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; |
|
|
|
BOOL * _Nonnull stop) { |
|
|
|
BOOL * _Nonnull stop) { |
|
|
|
[host disconnect]; |
|
|
|
[host disconnect]; |
|
|
|
}]; |
|
|
|
}]; |
|
|
|
[kHostCache removeAllObjects]; |
|
|
|
|
|
|
|
connectivityMonitor = nil; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|