Providing EmulatedRoute instances when creating TcpMessageRoute
This CL makes it so the caller explicitly has to provide
EmulatedRoute instances when creating TcpMessageRoute.
Previously those were automatically generated.
This means that the EmulatedRoute instances can be reused.
Bug: webrtc:9883
Change-Id: I7ad03ca6a5a3dbb91df76e3ca1190a1a75bf0cc5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159703
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29791}
diff --git a/test/network/cross_traffic_unittest.cc b/test/network/cross_traffic_unittest.cc
index cfa80cd..94a2dff 100644
--- a/test/network/cross_traffic_unittest.cc
+++ b/test/network/cross_traffic_unittest.cc
@@ -126,8 +126,9 @@
auto ret = send;
ret.loss_percent = 10;
- auto* tcp_route = net.CreateTcpRoute({net.CreateEmulatedNode(send)},
- {net.CreateEmulatedNode(ret)});
+ auto* tcp_route =
+ net.CreateTcpRoute(net.CreateRoute({net.CreateEmulatedNode(send)}),
+ net.CreateRoute({net.CreateEmulatedNode(ret)}));
int deliver_count = 0;
// 100 kB is more than what fits into a single packet.
constexpr size_t kMessageSize = 100000;
diff --git a/test/network/network_emulation_manager.cc b/test/network/network_emulation_manager.cc
index b2ccddf..a2d8d90 100644
--- a/test/network/network_emulation_manager.cc
+++ b/test/network/network_emulation_manager.cc
@@ -229,10 +229,10 @@
}
TcpMessageRoute* NetworkEmulationManagerImpl::CreateTcpRoute(
- std::vector<EmulatedNetworkNode*> send_link,
- std::vector<EmulatedNetworkNode*> ret_link) {
- auto tcp_route = std::make_unique<TcpMessageRoute>(
- clock_, task_queue_.Get(), CreateRoute(send_link), CreateRoute(ret_link));
+ EmulatedRoute* send_route,
+ EmulatedRoute* ret_route) {
+ auto tcp_route = std::make_unique<TcpMessageRoute>(clock_, task_queue_.Get(),
+ send_route, ret_route);
auto* route_ptr = tcp_route.get();
task_queue_.PostTask([this, tcp_route = std::move(tcp_route)]() mutable {
tcp_message_routes_.push_back(std::move(tcp_route));
diff --git a/test/network/network_emulation_manager.h b/test/network/network_emulation_manager.h
index 8076e6c..da5b295 100644
--- a/test/network/network_emulation_manager.h
+++ b/test/network/network_emulation_manager.h
@@ -77,8 +77,8 @@
std::vector<EmulatedNetworkNode*> ret_link,
FakeTcpConfig config);
- TcpMessageRoute* CreateTcpRoute(std::vector<EmulatedNetworkNode*> send_link,
- std::vector<EmulatedNetworkNode*> ret_link);
+ TcpMessageRoute* CreateTcpRoute(EmulatedRoute* send_route,
+ EmulatedRoute* ret_route);
void StopCrossTraffic(FakeTcpCrossTraffic* traffic);