Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc

Issue 2646863005: Fixing logic for using android_setsocknetwork() with bind(). (Closed)
Patch Set: comment formatting Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc
diff --git a/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc b/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc
index 98ac611213381a9baab58e5ea8dfaebe34621a9a..95f16fdab999e53d3f6396fa8601a46a7c618e55 100644
--- a/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc
+++ b/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc
@@ -237,8 +237,9 @@ void AndroidNetworkMonitor::Stop() {
// The implementation is largely taken from UDPSocketPosix::BindToNetwork in
// https://cs.chromium.org/chromium/src/net/udp/udp_socket_posix.cc
-int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
- const rtc::IPAddress& address) {
+rtc::NetworkBindingResult AndroidNetworkMonitor::BindSocketToNetwork(
+ int socket_fd,
+ const rtc::IPAddress& address) {
RTC_CHECK(thread_checker_.CalledOnValidThread());
// Android prior to Lollipop didn't have support for binding sockets to
// networks. In that case it should not have reached here because
@@ -247,12 +248,12 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
if (android_sdk_int_ < SDK_VERSION_LOLLIPOP) {
LOG(LS_ERROR) << "BindSocketToNetwork is not supported in Android SDK "
<< android_sdk_int_;
- return rtc::NETWORK_BIND_NOT_IMPLEMENTED;
+ return rtc::NetworkBindingResult::NOT_IMPLEMENTED;
}
auto iter = network_handle_by_address_.find(address);
if (iter == network_handle_by_address_.end()) {
- return rtc::NETWORK_BIND_ADDRESS_NOT_FOUND;
+ return rtc::NetworkBindingResult::ADDRESS_NOT_FOUND;
}
NetworkHandle network_handle = iter->second;
@@ -272,7 +273,7 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
void* lib = dlopen(android_native_lib_path.c_str(), RTLD_NOW);
if (lib == nullptr) {
LOG(LS_ERROR) << "Library " << android_native_lib_path << " not found!";
- return rtc::NETWORK_BIND_NOT_IMPLEMENTED;
+ return rtc::NetworkBindingResult::NOT_IMPLEMENTED;
}
marshmallowSetNetworkForSocket =
reinterpret_cast<MarshmallowSetNetworkForSocket>(
@@ -280,7 +281,7 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
}
if (!marshmallowSetNetworkForSocket) {
LOG(LS_ERROR) << "Symbol marshmallowSetNetworkForSocket is not found";
- return rtc::NETWORK_BIND_NOT_IMPLEMENTED;
+ return rtc::NetworkBindingResult::NOT_IMPLEMENTED;
}
rv = marshmallowSetNetworkForSocket(network_handle, socket_fd);
} else {
@@ -301,7 +302,7 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
void* lib = dlopen(net_library_path.c_str(), RTLD_NOW | RTLD_NOLOAD);
if (lib == nullptr) {
LOG(LS_ERROR) << "Library " << net_library_path << " not found!";
- return rtc::NETWORK_BIND_NOT_IMPLEMENTED;
+ return rtc::NetworkBindingResult::NOT_IMPLEMENTED;
}
lollipopSetNetworkForSocket =
reinterpret_cast<LollipopSetNetworkForSocket>(
@@ -309,7 +310,7 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
}
if (!lollipopSetNetworkForSocket) {
LOG(LS_ERROR) << "Symbol lollipopSetNetworkForSocket is not found ";
- return rtc::NETWORK_BIND_NOT_IMPLEMENTED;
+ return rtc::NetworkBindingResult::NOT_IMPLEMENTED;
}
rv = lollipopSetNetworkForSocket(network_handle, socket_fd);
}
@@ -318,12 +319,12 @@ int AndroidNetworkMonitor::BindSocketToNetwork(int socket_fd,
// ERR_NETWORK_CHANGED, rather than MapSystemError(ENONET) which gives back
// the less descriptive ERR_FAILED.
if (rv == 0) {
- return rtc::NETWORK_BIND_SUCCESS;
+ return rtc::NetworkBindingResult::SUCCESS;
}
if (rv == ENONET) {
- return rtc::NETWORK_BIND_NETWORK_CHANGED;
+ return rtc::NetworkBindingResult::NETWORK_CHANGED;
}
- return rtc::NETWORK_BIND_FAILURE;
+ return rtc::NetworkBindingResult::FAILURE;
}
void AndroidNetworkMonitor::OnNetworkConnected(
« webrtc/base/physicalsocketserver.cc ('K') | « webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698