SimulatedNetworkNode::Builder use BuiltInNetworkBehaviorConfig.link_capacity

Bug: webrtc:14525
Change-Id: I0495e26244334a5bdb015912fbdaa7af7f2aefea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/350280
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42263}
diff --git a/api/test/network_emulation_manager.cc b/api/test/network_emulation_manager.cc
index f2153a7..9d50897 100644
--- a/api/test/network_emulation_manager.cc
+++ b/api/test/network_emulation_manager.cc
@@ -11,6 +11,7 @@
 
 #include <utility>
 
+#include "api/units/data_rate.h"
 #include "rtc_base/checks.h"
 #include "test/network/simulated_network.h"
 
@@ -56,16 +57,31 @@
 }
 
 NetworkEmulationManager::SimulatedNetworkNode::Builder&
+NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity(
+    DataRate link_capacity) {
+  config_.link_capacity = link_capacity;
+  return *this;
+}
+
+NetworkEmulationManager::SimulatedNetworkNode::Builder&
 NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity_kbps(
     int link_capacity_kbps) {
-  config_.link_capacity_kbps = link_capacity_kbps;
+  if (link_capacity_kbps > 0) {
+    config_.link_capacity = DataRate::KilobitsPerSec(link_capacity_kbps);
+  } else {
+    config_.link_capacity = DataRate::Infinity();
+  }
   return *this;
 }
 
 NetworkEmulationManager::SimulatedNetworkNode::Builder&
 NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity_Mbps(
     int link_capacity_Mbps) {
-  config_.link_capacity_kbps = link_capacity_Mbps * 1000;
+  if (link_capacity_Mbps > 0) {
+    config_.link_capacity = DataRate::KilobitsPerSec(link_capacity_Mbps * 1000);
+  } else {
+    config_.link_capacity = DataRate::Infinity();
+  }
   return *this;
 }
 
diff --git a/api/test/network_emulation_manager.h b/api/test/network_emulation_manager.h
index 2d51ae8..48bb19b 100644
--- a/api/test/network_emulation_manager.h
+++ b/api/test/network_emulation_manager.h
@@ -24,6 +24,7 @@
 #include "api/test/peer_network_dependencies.h"
 #include "api/test/simulated_network.h"
 #include "api/test/time_controller.h"
+#include "api/units/data_rate.h"
 #include "api/units/timestamp.h"
 #include "rtc_base/network.h"
 #include "rtc_base/network_constants.h"
@@ -200,6 +201,7 @@
       // values.
       Builder& config(BuiltInNetworkBehaviorConfig config);
       Builder& delay_ms(int queue_delay_ms);
+      Builder& capacity(DataRate link_capacity);
       Builder& capacity_kbps(int link_capacity_kbps);
       Builder& capacity_Mbps(int link_capacity_Mbps);
       Builder& loss(double loss_rate);