Skip to content

Commit db639d3

Browse files
committed
[DO NOT PUSH] apple connectivity hack
1 parent f7cc868 commit db639d3

File tree

1 file changed

+3
-33
lines changed

1 file changed

+3
-33
lines changed

Firestore/core/src/remote/connectivity_monitor_apple.mm

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,9 @@ SCNetworkReachabilityRef CreateReachability() {
6262
sockaddr_in any_connection_addr{};
6363
any_connection_addr.sin_len = sizeof(any_connection_addr);
6464
any_connection_addr.sin_family = AF_INET;
65-
return SCNetworkReachabilityCreateWithAddress(
66-
nullptr, reinterpret_cast<sockaddr*>(&any_connection_addr));
65+
return nullptr;
6766
}
6867

69-
void OnReachabilityChangedCallback(SCNetworkReachabilityRef /*unused*/,
70-
SCNetworkReachabilityFlags flags,
71-
void* raw_this);
72-
7368
} // namespace
7469

7570
/**
@@ -87,26 +82,14 @@ explicit ConnectivityMonitorApple(
8782
return;
8883
}
8984

90-
SCNetworkReachabilityFlags flags{};
91-
if (SCNetworkReachabilityGetFlags(reachability_, &flags)) {
92-
SetInitialStatus(ToNetworkStatus(flags));
93-
}
94-
9585
SCNetworkReachabilityContext context{};
9686
context.info = this;
97-
bool success = SCNetworkReachabilitySetCallback(
98-
reachability_, OnReachabilityChangedCallback, &context);
87+
bool success = true;
9988
if (!success) {
10089
LOG_DEBUG("Couldn't set reachability callback");
10190
return;
10291
}
10392

104-
// It's okay to use the main queue for reachability events because they are
105-
// fairly infrequent, and there's no good way to get the underlying dispatch
106-
// queue out of the worker queue. The callback itself is still executed on
107-
// the worker queue.
108-
success = SCNetworkReachabilitySetDispatchQueue(reachability_,
109-
dispatch_get_main_queue());
11093
if (!success) {
11194
LOG_DEBUG("Couldn't set reachability queue");
11295
return;
@@ -129,8 +112,7 @@ explicit ConnectivityMonitorApple(
129112
#endif
130113

131114
if (reachability_) {
132-
bool success =
133-
SCNetworkReachabilitySetDispatchQueue(reachability_, nullptr);
115+
bool success = true;
134116
if (!success) {
135117
LOG_DEBUG("Couldn't unset reachability queue");
136118
}
@@ -172,18 +154,6 @@ void OnReachabilityChanged(SCNetworkReachabilityFlags flags) {
172154
#endif
173155
};
174156

175-
namespace {
176-
177-
void OnReachabilityChangedCallback(SCNetworkReachabilityRef /*unused*/,
178-
SCNetworkReachabilityFlags flags,
179-
void* raw_this) {
180-
HARD_ASSERT(raw_this, "Received a null pointer as context");
181-
static_cast<ConnectivityMonitorApple*>(raw_this)->OnReachabilityChanged(
182-
flags);
183-
}
184-
185-
} // namespace
186-
187157
std::unique_ptr<ConnectivityMonitor> ConnectivityMonitor::Create(
188158
const std::shared_ptr<AsyncQueue>& worker_queue) {
189159
return absl::make_unique<ConnectivityMonitorApple>(worker_queue);

0 commit comments

Comments
 (0)