xref: /aosp_15_r20/external/webrtc/api/test/network_emulation/create_cross_traffic.cc (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1 /*
2  *  Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 #include "api/test/network_emulation/create_cross_traffic.h"
11 
12 #include <memory>
13 
14 #include "rtc_base/task_utils/repeating_task.h"
15 #include "test/network/cross_traffic.h"
16 
17 namespace webrtc {
18 
CreateRandomWalkCrossTraffic(CrossTrafficRoute * traffic_route,RandomWalkConfig config)19 std::unique_ptr<CrossTrafficGenerator> CreateRandomWalkCrossTraffic(
20     CrossTrafficRoute* traffic_route,
21     RandomWalkConfig config) {
22   return std::make_unique<test::RandomWalkCrossTraffic>(config, traffic_route);
23 }
24 
CreatePulsedPeaksCrossTraffic(CrossTrafficRoute * traffic_route,PulsedPeaksConfig config)25 std::unique_ptr<CrossTrafficGenerator> CreatePulsedPeaksCrossTraffic(
26     CrossTrafficRoute* traffic_route,
27     PulsedPeaksConfig config) {
28   return std::make_unique<test::PulsedPeaksCrossTraffic>(config, traffic_route);
29 }
30 
CreateFakeTcpCrossTraffic(EmulatedRoute * send_route,EmulatedRoute * ret_route,FakeTcpConfig config)31 std::unique_ptr<CrossTrafficGenerator> CreateFakeTcpCrossTraffic(
32     EmulatedRoute* send_route,
33     EmulatedRoute* ret_route,
34     FakeTcpConfig config) {
35   return std::make_unique<test::FakeTcpCrossTraffic>(config, send_route,
36                                                      ret_route);
37 }
38 
39 }  // namespace webrtc
40