1# Copyright (c) 2021 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 9import("../../../webrtc.gni") 10 11rtc_source_set("send_queue") { 12 deps = [ 13 "../../../api:array_view", 14 "../common:internal_types", 15 "../packet:chunk", 16 "../packet:data", 17 "../public:socket", 18 "../public:types", 19 ] 20 sources = [ "send_queue.h" ] 21 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 22} 23 24rtc_library("rr_send_queue") { 25 deps = [ 26 ":send_queue", 27 ":stream_scheduler", 28 "../../../api:array_view", 29 "../../../rtc_base:checks", 30 "../../../rtc_base:logging", 31 "../../../rtc_base/containers:flat_map", 32 "../common:str_join", 33 "../packet:data", 34 "../public:socket", 35 "../public:types", 36 ] 37 sources = [ 38 "rr_send_queue.cc", 39 "rr_send_queue.h", 40 ] 41 absl_deps = [ 42 "//third_party/abseil-cpp/absl/algorithm:container", 43 "//third_party/abseil-cpp/absl/algorithm:container", 44 "//third_party/abseil-cpp/absl/strings", 45 "//third_party/abseil-cpp/absl/types:optional", 46 ] 47} 48 49rtc_library("stream_scheduler") { 50 deps = [ 51 ":send_queue", 52 "../../../api:array_view", 53 "../../../rtc_base:checks", 54 "../../../rtc_base:logging", 55 "../../../rtc_base:strong_alias", 56 "../../../rtc_base/containers:flat_set", 57 "../common:str_join", 58 "../packet:chunk", 59 "../packet:data", 60 "../packet:sctp_packet", 61 "../public:socket", 62 "../public:types", 63 ] 64 sources = [ 65 "stream_scheduler.cc", 66 "stream_scheduler.h", 67 ] 68 absl_deps = [ 69 "//third_party/abseil-cpp/absl/algorithm:container", 70 "//third_party/abseil-cpp/absl/memory", 71 "//third_party/abseil-cpp/absl/strings", 72 "//third_party/abseil-cpp/absl/types:optional", 73 ] 74} 75 76rtc_library("retransmission_error_counter") { 77 deps = [ 78 "../../../rtc_base:checks", 79 "../../../rtc_base:logging", 80 "../public:types", 81 ] 82 sources = [ 83 "retransmission_error_counter.cc", 84 "retransmission_error_counter.h", 85 ] 86 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 87} 88 89rtc_library("retransmission_timeout") { 90 deps = [ 91 "../../../rtc_base:checks", 92 "../public:types", 93 ] 94 sources = [ 95 "retransmission_timeout.cc", 96 "retransmission_timeout.h", 97 ] 98} 99 100rtc_library("outstanding_data") { 101 deps = [ 102 ":retransmission_timeout", 103 ":send_queue", 104 "../../../api:array_view", 105 "../../../rtc_base:checks", 106 "../../../rtc_base:logging", 107 "../common:math", 108 "../common:sequence_numbers", 109 "../common:str_join", 110 "../packet:chunk", 111 "../packet:data", 112 "../public:socket", 113 "../public:types", 114 "../timer", 115 ] 116 sources = [ 117 "outstanding_data.cc", 118 "outstanding_data.h", 119 ] 120 absl_deps = [ 121 "//third_party/abseil-cpp/absl/algorithm:container", 122 "//third_party/abseil-cpp/absl/strings", 123 "//third_party/abseil-cpp/absl/types:optional", 124 ] 125} 126 127rtc_library("retransmission_queue") { 128 deps = [ 129 ":outstanding_data", 130 ":retransmission_timeout", 131 ":send_queue", 132 "../../../api:array_view", 133 "../../../rtc_base:checks", 134 "../../../rtc_base:logging", 135 "../../../rtc_base:stringutils", 136 "../common:math", 137 "../common:sequence_numbers", 138 "../common:str_join", 139 "../packet:chunk", 140 "../packet:data", 141 "../public:socket", 142 "../public:types", 143 "../timer", 144 ] 145 sources = [ 146 "retransmission_queue.cc", 147 "retransmission_queue.h", 148 ] 149 absl_deps = [ 150 "//third_party/abseil-cpp/absl/algorithm:container", 151 "//third_party/abseil-cpp/absl/strings", 152 "//third_party/abseil-cpp/absl/types:optional", 153 ] 154} 155 156if (rtc_include_tests) { 157 rtc_source_set("mock_send_queue") { 158 testonly = true 159 deps = [ 160 ":send_queue", 161 "../../../api:array_view", 162 "../../../test:test_support", 163 ] 164 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 165 sources = [ "mock_send_queue.h" ] 166 } 167 168 rtc_library("dcsctp_tx_unittests") { 169 testonly = true 170 171 deps = [ 172 ":mock_send_queue", 173 ":outstanding_data", 174 ":retransmission_error_counter", 175 ":retransmission_queue", 176 ":retransmission_timeout", 177 ":rr_send_queue", 178 ":send_queue", 179 ":stream_scheduler", 180 "../../../api:array_view", 181 "../../../api/task_queue:task_queue", 182 "../../../rtc_base:checks", 183 "../../../rtc_base:gunit_helpers", 184 "../../../test:test_support", 185 "../common:handover_testing", 186 "../common:math", 187 "../common:sequence_numbers", 188 "../packet:chunk", 189 "../packet:data", 190 "../packet:sctp_packet", 191 "../public:socket", 192 "../public:types", 193 "../socket:mock_callbacks", 194 "../socket:mock_callbacks", 195 "../testing:data_generator", 196 "../testing:testing_macros", 197 "../timer", 198 ] 199 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 200 sources = [ 201 "outstanding_data_test.cc", 202 "retransmission_error_counter_test.cc", 203 "retransmission_queue_test.cc", 204 "retransmission_timeout_test.cc", 205 "rr_send_queue_test.cc", 206 "stream_scheduler_test.cc", 207 ] 208 } 209} 210