diff options
author | Jonas Oreland <jonaso@webrtc.org> | 2020-04-02 07:19:12 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-02 07:48:36 +0000 |
commit | 08d1806e5432bed24e0ccb8e6eed7559949b403e (patch) | |
tree | 523318491baf2189819f49ef0ce3a5e0a47152a1 /p2p/base | |
parent | 01c107e37a43f0dfe164bae274aac5844220240a (diff) | |
download | webrtc-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.cc | 28 | ||||
-rw-r--r-- | p2p/base/p2p_transport_channel.cc | 10 |
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: |