aboutsummaryrefslogtreecommitdiff
path: root/p2p/base
diff options
context:
space:
mode:
authorJonas Oreland <jonaso@webrtc.org>2020-04-02 07:19:12 +0200
committerCommit Bot <commit-bot@chromium.org>2020-04-02 07:48:36 +0000
commit08d1806e5432bed24e0ccb8e6eed7559949b403e (patch)
tree523318491baf2189819f49ef0ce3a5e0a47152a1 /p2p/base
parent01c107e37a43f0dfe164bae274aac5844220240a (diff)
downloadwebrtc-08d1806e5432bed24e0ccb8e6eed7559949b403e.tar.gz
Extend rtc::AdapterType with 2g, 3G, 4G & 5G enum values.
This patch adds new enum values for different types of cellular connections. The new costs are currently blocked when sending to remote, (so that arbitrary network switches does not starts occurring). The end-game for this series to be able to distinguish between different type of cellular connections in the ice-layer (e.g when selecting/switching connections). BUG: webrtc:11473 Change-Id: I587ac8fdff4f6cdd0f8905f327232f58818db4f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172582 Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30970}
Diffstat (limited to 'p2p/base')
-rw-r--r--p2p/base/connection.cc28
-rw-r--r--p2p/base/p2p_transport_channel.cc10
2 files changed, 26 insertions, 12 deletions
diff --git a/p2p/base/connection.cc b/p2p/base/connection.cc
index 0e3a228e90..a9d570652a 100644
--- a/p2p/base/connection.cc
+++ b/p2p/base/connection.cc
@@ -106,18 +106,24 @@ webrtc::IceCandidatePairAddressFamily GetAddressFamilyByInt(
}
webrtc::IceCandidateNetworkType ConvertNetworkType(rtc::AdapterType type) {
- if (type == rtc::ADAPTER_TYPE_ETHERNET) {
- return webrtc::IceCandidateNetworkType::kEthernet;
- } else if (type == rtc::ADAPTER_TYPE_LOOPBACK) {
- return webrtc::IceCandidateNetworkType::kLoopback;
- } else if (type == rtc::ADAPTER_TYPE_WIFI) {
- return webrtc::IceCandidateNetworkType::kWifi;
- } else if (type == rtc::ADAPTER_TYPE_VPN) {
- return webrtc::IceCandidateNetworkType::kVpn;
- } else if (type == rtc::ADAPTER_TYPE_CELLULAR) {
- return webrtc::IceCandidateNetworkType::kCellular;
+ switch (type) {
+ case rtc::ADAPTER_TYPE_ETHERNET:
+ return webrtc::IceCandidateNetworkType::kEthernet;
+ case rtc::ADAPTER_TYPE_LOOPBACK:
+ return webrtc::IceCandidateNetworkType::kLoopback;
+ case rtc::ADAPTER_TYPE_WIFI:
+ return webrtc::IceCandidateNetworkType::kWifi;
+ case rtc::ADAPTER_TYPE_VPN:
+ return webrtc::IceCandidateNetworkType::kVpn;
+ case rtc::ADAPTER_TYPE_CELLULAR:
+ case rtc::ADAPTER_TYPE_CELLULAR_2G:
+ case rtc::ADAPTER_TYPE_CELLULAR_3G:
+ case rtc::ADAPTER_TYPE_CELLULAR_4G:
+ case rtc::ADAPTER_TYPE_CELLULAR_5G:
+ return webrtc::IceCandidateNetworkType::kCellular;
+ default:
+ return webrtc::IceCandidateNetworkType::kUnknown;
}
- return webrtc::IceCandidateNetworkType::kUnknown;
}
// When we don't have any RTT data, we have to pick something reasonable. We
diff --git a/p2p/base/p2p_transport_channel.cc b/p2p/base/p2p_transport_channel.cc
index 6a132a2f06..e3e61945cb 100644
--- a/p2p/base/p2p_transport_channel.cc
+++ b/p2p/base/p2p_transport_channel.cc
@@ -66,8 +66,16 @@ rtc::AdapterType GuessAdapterTypeFromNetworkCost(int network_cost) {
return rtc::ADAPTER_TYPE_ETHERNET;
case rtc::kNetworkCostLow:
return rtc::ADAPTER_TYPE_WIFI;
- case rtc::kNetworkCostHigh:
+ case rtc::kNetworkCostCellular:
return rtc::ADAPTER_TYPE_CELLULAR;
+ case rtc::kNetworkCostCellular2G:
+ return rtc::ADAPTER_TYPE_CELLULAR_2G;
+ case rtc::kNetworkCostCellular3G:
+ return rtc::ADAPTER_TYPE_CELLULAR_3G;
+ case rtc::kNetworkCostCellular4G:
+ return rtc::ADAPTER_TYPE_CELLULAR_4G;
+ case rtc::kNetworkCostCellular5G:
+ return rtc::ADAPTER_TYPE_CELLULAR_5G;
case rtc::kNetworkCostUnknown:
return rtc::ADAPTER_TYPE_UNKNOWN;
case rtc::kNetworkCostMax: