BUILD.gn (3217B)
1 # Copyright (c) 2019 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("../../../webrtc.gni") 10 11 if (rtc_enable_protobuf) { 12 import("//third_party/protobuf/proto_library.gni") 13 proto_library("network_config_schedule_proto") { 14 visibility = [ "*" ] 15 sources = [ "network_config_schedule.proto" ] 16 proto_out_dir = "api/test/network_emulation/" 17 } 18 19 rtc_library("schedulable_network_node_builder") { 20 visibility = [ "*" ] 21 sources = [ 22 "schedulable_network_node_builder.cc", 23 "schedulable_network_node_builder.h", 24 ] 25 deps = [ 26 ":network_config_schedule_proto", 27 "../..:network_emulation_manager_api", 28 "../../../rtc_base:timeutils", 29 "../../../test/network:schedulable_network_behavior", 30 "../../units:timestamp", 31 "//third_party/abseil-cpp/absl/functional:any_invocable", 32 ] 33 } 34 } 35 36 rtc_library("network_emulation") { 37 visibility = [ "*" ] 38 39 sources = [ 40 "cross_traffic.h", 41 "ecn_marking_counter.cc", 42 "ecn_marking_counter.h", 43 "network_emulation_interfaces.cc", 44 "network_emulation_interfaces.h", 45 ] 46 47 deps = [ 48 "../../../rtc_base:checks", 49 "../../../rtc_base:copy_on_write_buffer", 50 "../../../rtc_base:ip_address", 51 "../../../rtc_base:net_helper", 52 "../../../rtc_base:net_helpers", 53 "../../../rtc_base:socket_address", 54 "../../numerics", 55 "../../transport:ecn_marking", 56 "../../units:data_rate", 57 "../../units:data_size", 58 "../../units:time_delta", 59 "../../units:timestamp", 60 "//third_party/abseil-cpp/absl/functional:any_invocable", 61 ] 62 } 63 64 rtc_library("create_cross_traffic") { 65 visibility = [ "*" ] 66 testonly = true 67 68 sources = [ 69 "create_cross_traffic.cc", 70 "create_cross_traffic.h", 71 ] 72 73 deps = [ 74 ":network_emulation", 75 "../..:network_emulation_manager_api", 76 "../../../test/network:emulated_network", 77 ] 78 } 79 80 rtc_library("network_queue") { 81 visibility = [ "*" ] 82 83 sources = [ 84 "dual_pi2_network_queue.cc", 85 "dual_pi2_network_queue.h", 86 "leaky_bucket_network_queue.cc", 87 "leaky_bucket_network_queue.h", 88 "network_queue.h", 89 ] 90 91 deps = [ 92 "../..:sequence_checker", 93 "../..:simulated_network_api", 94 "../../../rtc_base:checks", 95 "../../../rtc_base:logging", 96 "../../../rtc_base:macromagic", 97 "../../../rtc_base:random", 98 "../../transport:ecn_marking", 99 "../../units:data_rate", 100 "../../units:data_size", 101 "../../units:time_delta", 102 "../../units:timestamp", 103 ] 104 } 105 106 rtc_library("network_queue_unittests") { 107 sources = [ 108 "dual_pi2_network_queue_unittest.cc", 109 "leaky_bucket_network_queue_unittest.cc", 110 ] 111 112 testonly = true 113 deps = [ 114 ":network_queue", 115 "../..:simulated_network_api", 116 "../../../test:test_support", 117 "../../transport:ecn_marking", 118 "../../units:data_rate", 119 "../../units:data_size", 120 "../../units:time_delta", 121 "../../units:timestamp", 122 ] 123 }