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);