• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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