Add kNumValues to IceCandidate* enums and move kUnknown to the front.

Bug: None
Change-Id: Ia20fc06a96d78b4f842a849a64f7c580b6663fd0
Reviewed-on: https://webrtc-review.googlesource.com/82281
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Qingsi Wang <qingsi@google.com>
Cr-Commit-Position: refs/heads/master@{#23556}
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
index 191a285..54c4031 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
@@ -117,6 +117,8 @@
       return rtclog::IceCandidatePairConfig::DESTROYED;
     case IceCandidatePairConfigType::kSelected:
       return rtclog::IceCandidatePairConfig::SELECTED;
+    case IceCandidatePairConfigType::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairConfig::ADDED;
@@ -125,6 +127,8 @@
 rtclog::IceCandidatePairConfig::IceCandidateType ConvertIceCandidateType(
     IceCandidateType type) {
   switch (type) {
+    case IceCandidateType::kUnknown:
+      return rtclog::IceCandidatePairConfig::UNKNOWN_CANDIDATE_TYPE;
     case IceCandidateType::kLocal:
       return rtclog::IceCandidatePairConfig::LOCAL;
     case IceCandidateType::kStun:
@@ -133,8 +137,8 @@
       return rtclog::IceCandidatePairConfig::PRFLX;
     case IceCandidateType::kRelay:
       return rtclog::IceCandidatePairConfig::RELAY;
-    case IceCandidateType::kUnknown:
-      return rtclog::IceCandidatePairConfig::UNKNOWN_CANDIDATE_TYPE;
+    case IceCandidateType::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairConfig::UNKNOWN_CANDIDATE_TYPE;
@@ -143,6 +147,8 @@
 rtclog::IceCandidatePairConfig::Protocol ConvertIceCandidatePairProtocol(
     IceCandidatePairProtocol protocol) {
   switch (protocol) {
+    case IceCandidatePairProtocol::kUnknown:
+      return rtclog::IceCandidatePairConfig::UNKNOWN_PROTOCOL;
     case IceCandidatePairProtocol::kUdp:
       return rtclog::IceCandidatePairConfig::UDP;
     case IceCandidatePairProtocol::kTcp:
@@ -151,8 +157,8 @@
       return rtclog::IceCandidatePairConfig::SSLTCP;
     case IceCandidatePairProtocol::kTls:
       return rtclog::IceCandidatePairConfig::TLS;
-    case IceCandidatePairProtocol::kUnknown:
-      return rtclog::IceCandidatePairConfig::UNKNOWN_PROTOCOL;
+    case IceCandidatePairProtocol::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairConfig::UNKNOWN_PROTOCOL;
@@ -162,12 +168,14 @@
 ConvertIceCandidatePairAddressFamily(
     IceCandidatePairAddressFamily address_family) {
   switch (address_family) {
+    case IceCandidatePairAddressFamily::kUnknown:
+      return rtclog::IceCandidatePairConfig::UNKNOWN_ADDRESS_FAMILY;
     case IceCandidatePairAddressFamily::kIpv4:
       return rtclog::IceCandidatePairConfig::IPV4;
     case IceCandidatePairAddressFamily::kIpv6:
       return rtclog::IceCandidatePairConfig::IPV6;
-    case IceCandidatePairAddressFamily::kUnknown:
-      return rtclog::IceCandidatePairConfig::UNKNOWN_ADDRESS_FAMILY;
+    case IceCandidatePairAddressFamily::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairConfig::UNKNOWN_ADDRESS_FAMILY;
@@ -176,6 +184,8 @@
 rtclog::IceCandidatePairConfig::NetworkType ConvertIceCandidateNetworkType(
     IceCandidateNetworkType network_type) {
   switch (network_type) {
+    case IceCandidateNetworkType::kUnknown:
+      return rtclog::IceCandidatePairConfig::UNKNOWN_NETWORK_TYPE;
     case IceCandidateNetworkType::kEthernet:
       return rtclog::IceCandidatePairConfig::ETHERNET;
     case IceCandidateNetworkType::kLoopback:
@@ -186,8 +196,8 @@
       return rtclog::IceCandidatePairConfig::VPN;
     case IceCandidateNetworkType::kCellular:
       return rtclog::IceCandidatePairConfig::CELLULAR;
-    case IceCandidateNetworkType::kUnknown:
-      return rtclog::IceCandidatePairConfig::UNKNOWN_NETWORK_TYPE;
+    case IceCandidateNetworkType::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairConfig::UNKNOWN_NETWORK_TYPE;
@@ -204,6 +214,8 @@
       return rtclog::IceCandidatePairEvent::CHECK_RESPONSE_SENT;
     case IceCandidatePairEventType::kCheckResponseReceived:
       return rtclog::IceCandidatePairEvent::CHECK_RESPONSE_RECEIVED;
+    case IceCandidatePairEventType::kNumValues:
+      RTC_NOTREACHED();
   }
   RTC_NOTREACHED();
   return rtclog::IceCandidatePairEvent::CHECK_SENT;
diff --git a/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h b/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
index b04ad4e..ac646ee 100644
--- a/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+++ b/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
@@ -22,6 +22,7 @@
   kCheckReceived,
   kCheckResponseSent,
   kCheckResponseReceived,
+  kNumValues,
 };
 
 class RtcEventIceCandidatePair final : public RtcEvent {
diff --git a/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h b/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
index 62d39d5..0a195da 100644
--- a/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+++ b/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
@@ -22,39 +22,44 @@
   kUpdated,
   kDestroyed,
   kSelected,
+  kNumValues,
 };
 
 // TODO(qingsi): Change the names of candidate types to "host", "srflx", "prflx"
 // and "relay" after the naming is spec-compliant in the signaling part
 enum class IceCandidateType {
+  kUnknown,
   kLocal,
   kStun,
   kPrflx,
   kRelay,
-  kUnknown,
+  kNumValues,
 };
 
 enum class IceCandidatePairProtocol {
+  kUnknown,
   kUdp,
   kTcp,
   kSsltcp,
   kTls,
-  kUnknown,
+  kNumValues,
 };
 
 enum class IceCandidatePairAddressFamily {
+  kUnknown,
   kIpv4,
   kIpv6,
-  kUnknown,
+  kNumValues,
 };
 
 enum class IceCandidateNetworkType {
+  kUnknown,
   kEthernet,
   kLoopback,
   kWifi,
   kVpn,
   kCellular,
-  kUnknown,
+  kNumValues,
 };
 
 class IceCandidatePairDescription {