xref: /aosp_15_r20/external/webrtc/net/dcsctp/socket/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Workerrtc_source_set("context") {
12*d9f75844SAndroid Build Coastguard Worker  sources = [ "context.h" ]
13*d9f75844SAndroid Build Coastguard Worker  deps = [
14*d9f75844SAndroid Build Coastguard Worker    "../common:internal_types",
15*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
16*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
17*d9f75844SAndroid Build Coastguard Worker    "../public:types",
18*d9f75844SAndroid Build Coastguard Worker  ]
19*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
20*d9f75844SAndroid Build Coastguard Worker}
21*d9f75844SAndroid Build Coastguard Worker
22*d9f75844SAndroid Build Coastguard Workerrtc_library("heartbeat_handler") {
23*d9f75844SAndroid Build Coastguard Worker  deps = [
24*d9f75844SAndroid Build Coastguard Worker    ":context",
25*d9f75844SAndroid Build Coastguard Worker    "../../../api:array_view",
26*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:checks",
27*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:logging",
28*d9f75844SAndroid Build Coastguard Worker    "../packet:bounded_io",
29*d9f75844SAndroid Build Coastguard Worker    "../packet:chunk",
30*d9f75844SAndroid Build Coastguard Worker    "../packet:parameter",
31*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
32*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
33*d9f75844SAndroid Build Coastguard Worker    "../public:types",
34*d9f75844SAndroid Build Coastguard Worker    "../timer",
35*d9f75844SAndroid Build Coastguard Worker  ]
36*d9f75844SAndroid Build Coastguard Worker  sources = [
37*d9f75844SAndroid Build Coastguard Worker    "heartbeat_handler.cc",
38*d9f75844SAndroid Build Coastguard Worker    "heartbeat_handler.h",
39*d9f75844SAndroid Build Coastguard Worker  ]
40*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
41*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:bind_front",
42*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
43*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
44*d9f75844SAndroid Build Coastguard Worker  ]
45*d9f75844SAndroid Build Coastguard Worker}
46*d9f75844SAndroid Build Coastguard Worker
47*d9f75844SAndroid Build Coastguard Workerrtc_library("stream_reset_handler") {
48*d9f75844SAndroid Build Coastguard Worker  deps = [
49*d9f75844SAndroid Build Coastguard Worker    ":context",
50*d9f75844SAndroid Build Coastguard Worker    "../../../api:array_view",
51*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:checks",
52*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:logging",
53*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base/containers:flat_set",
54*d9f75844SAndroid Build Coastguard Worker    "../common:internal_types",
55*d9f75844SAndroid Build Coastguard Worker    "../common:str_join",
56*d9f75844SAndroid Build Coastguard Worker    "../packet:chunk",
57*d9f75844SAndroid Build Coastguard Worker    "../packet:parameter",
58*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
59*d9f75844SAndroid Build Coastguard Worker    "../packet:tlv_trait",
60*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
61*d9f75844SAndroid Build Coastguard Worker    "../public:types",
62*d9f75844SAndroid Build Coastguard Worker    "../rx:data_tracker",
63*d9f75844SAndroid Build Coastguard Worker    "../rx:reassembly_queue",
64*d9f75844SAndroid Build Coastguard Worker    "../timer",
65*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_queue",
66*d9f75844SAndroid Build Coastguard Worker  ]
67*d9f75844SAndroid Build Coastguard Worker  sources = [
68*d9f75844SAndroid Build Coastguard Worker    "stream_reset_handler.cc",
69*d9f75844SAndroid Build Coastguard Worker    "stream_reset_handler.h",
70*d9f75844SAndroid Build Coastguard Worker  ]
71*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
72*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:bind_front",
73*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
74*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
75*d9f75844SAndroid Build Coastguard Worker  ]
76*d9f75844SAndroid Build Coastguard Worker}
77*d9f75844SAndroid Build Coastguard Worker
78*d9f75844SAndroid Build Coastguard Workerrtc_library("packet_sender") {
79*d9f75844SAndroid Build Coastguard Worker  deps = [
80*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
81*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
82*d9f75844SAndroid Build Coastguard Worker    "../public:types",
83*d9f75844SAndroid Build Coastguard Worker    "../timer",
84*d9f75844SAndroid Build Coastguard Worker  ]
85*d9f75844SAndroid Build Coastguard Worker  sources = [
86*d9f75844SAndroid Build Coastguard Worker    "packet_sender.cc",
87*d9f75844SAndroid Build Coastguard Worker    "packet_sender.h",
88*d9f75844SAndroid Build Coastguard Worker  ]
89*d9f75844SAndroid Build Coastguard Worker  absl_deps = []
90*d9f75844SAndroid Build Coastguard Worker}
91*d9f75844SAndroid Build Coastguard Worker
92*d9f75844SAndroid Build Coastguard Workerrtc_library("transmission_control_block") {
93*d9f75844SAndroid Build Coastguard Worker  deps = [
94*d9f75844SAndroid Build Coastguard Worker    ":context",
95*d9f75844SAndroid Build Coastguard Worker    ":heartbeat_handler",
96*d9f75844SAndroid Build Coastguard Worker    ":packet_sender",
97*d9f75844SAndroid Build Coastguard Worker    ":stream_reset_handler",
98*d9f75844SAndroid Build Coastguard Worker    "../../../api:array_view",
99*d9f75844SAndroid Build Coastguard Worker    "../../../api/task_queue:task_queue",
100*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:checks",
101*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:logging",
102*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:stringutils",
103*d9f75844SAndroid Build Coastguard Worker    "../common:sequence_numbers",
104*d9f75844SAndroid Build Coastguard Worker    "../packet:chunk",
105*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
106*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
107*d9f75844SAndroid Build Coastguard Worker    "../public:types",
108*d9f75844SAndroid Build Coastguard Worker    "../rx:data_tracker",
109*d9f75844SAndroid Build Coastguard Worker    "../rx:reassembly_queue",
110*d9f75844SAndroid Build Coastguard Worker    "../timer",
111*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_error_counter",
112*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_queue",
113*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_timeout",
114*d9f75844SAndroid Build Coastguard Worker    "../tx:send_queue",
115*d9f75844SAndroid Build Coastguard Worker  ]
116*d9f75844SAndroid Build Coastguard Worker  sources = [
117*d9f75844SAndroid Build Coastguard Worker    "capabilities.h",
118*d9f75844SAndroid Build Coastguard Worker    "transmission_control_block.cc",
119*d9f75844SAndroid Build Coastguard Worker    "transmission_control_block.h",
120*d9f75844SAndroid Build Coastguard Worker  ]
121*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
122*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:bind_front",
123*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
124*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
125*d9f75844SAndroid Build Coastguard Worker  ]
126*d9f75844SAndroid Build Coastguard Worker}
127*d9f75844SAndroid Build Coastguard Worker
128*d9f75844SAndroid Build Coastguard Workerrtc_library("dcsctp_socket") {
129*d9f75844SAndroid Build Coastguard Worker  deps = [
130*d9f75844SAndroid Build Coastguard Worker    ":context",
131*d9f75844SAndroid Build Coastguard Worker    ":heartbeat_handler",
132*d9f75844SAndroid Build Coastguard Worker    ":packet_sender",
133*d9f75844SAndroid Build Coastguard Worker    ":stream_reset_handler",
134*d9f75844SAndroid Build Coastguard Worker    ":transmission_control_block",
135*d9f75844SAndroid Build Coastguard Worker    "../../../api:array_view",
136*d9f75844SAndroid Build Coastguard Worker    "../../../api:make_ref_counted",
137*d9f75844SAndroid Build Coastguard Worker    "../../../api:refcountedbase",
138*d9f75844SAndroid Build Coastguard Worker    "../../../api:scoped_refptr",
139*d9f75844SAndroid Build Coastguard Worker    "../../../api:sequence_checker",
140*d9f75844SAndroid Build Coastguard Worker    "../../../api/task_queue:task_queue",
141*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:checks",
142*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:logging",
143*d9f75844SAndroid Build Coastguard Worker    "../../../rtc_base:stringutils",
144*d9f75844SAndroid Build Coastguard Worker    "../common:internal_types",
145*d9f75844SAndroid Build Coastguard Worker    "../packet:bounded_io",
146*d9f75844SAndroid Build Coastguard Worker    "../packet:chunk",
147*d9f75844SAndroid Build Coastguard Worker    "../packet:chunk_validators",
148*d9f75844SAndroid Build Coastguard Worker    "../packet:data",
149*d9f75844SAndroid Build Coastguard Worker    "../packet:error_cause",
150*d9f75844SAndroid Build Coastguard Worker    "../packet:parameter",
151*d9f75844SAndroid Build Coastguard Worker    "../packet:sctp_packet",
152*d9f75844SAndroid Build Coastguard Worker    "../packet:tlv_trait",
153*d9f75844SAndroid Build Coastguard Worker    "../public:socket",
154*d9f75844SAndroid Build Coastguard Worker    "../public:types",
155*d9f75844SAndroid Build Coastguard Worker    "../rx:data_tracker",
156*d9f75844SAndroid Build Coastguard Worker    "../rx:reassembly_queue",
157*d9f75844SAndroid Build Coastguard Worker    "../timer",
158*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_error_counter",
159*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_queue",
160*d9f75844SAndroid Build Coastguard Worker    "../tx:retransmission_timeout",
161*d9f75844SAndroid Build Coastguard Worker    "../tx:rr_send_queue",
162*d9f75844SAndroid Build Coastguard Worker    "../tx:send_queue",
163*d9f75844SAndroid Build Coastguard Worker  ]
164*d9f75844SAndroid Build Coastguard Worker  sources = [
165*d9f75844SAndroid Build Coastguard Worker    "callback_deferrer.cc",
166*d9f75844SAndroid Build Coastguard Worker    "callback_deferrer.h",
167*d9f75844SAndroid Build Coastguard Worker    "dcsctp_socket.cc",
168*d9f75844SAndroid Build Coastguard Worker    "dcsctp_socket.h",
169*d9f75844SAndroid Build Coastguard Worker    "state_cookie.cc",
170*d9f75844SAndroid Build Coastguard Worker    "state_cookie.h",
171*d9f75844SAndroid Build Coastguard Worker  ]
172*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
173*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:bind_front",
174*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
175*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
176*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
177*d9f75844SAndroid Build Coastguard Worker  ]
178*d9f75844SAndroid Build Coastguard Worker}
179*d9f75844SAndroid Build Coastguard Worker
180*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
181*d9f75844SAndroid Build Coastguard Worker  rtc_source_set("mock_callbacks") {
182*d9f75844SAndroid Build Coastguard Worker    testonly = true
183*d9f75844SAndroid Build Coastguard Worker    sources = [ "mock_dcsctp_socket_callbacks.h" ]
184*d9f75844SAndroid Build Coastguard Worker    deps = [
185*d9f75844SAndroid Build Coastguard Worker      "../../../api:array_view",
186*d9f75844SAndroid Build Coastguard Worker      "../../../api/task_queue:task_queue",
187*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:logging",
188*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:random",
189*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
190*d9f75844SAndroid Build Coastguard Worker      "../public:socket",
191*d9f75844SAndroid Build Coastguard Worker      "../public:types",
192*d9f75844SAndroid Build Coastguard Worker      "../timer",
193*d9f75844SAndroid Build Coastguard Worker    ]
194*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
195*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
196*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
197*d9f75844SAndroid Build Coastguard Worker    ]
198*d9f75844SAndroid Build Coastguard Worker  }
199*d9f75844SAndroid Build Coastguard Worker
200*d9f75844SAndroid Build Coastguard Worker  rtc_source_set("mock_context") {
201*d9f75844SAndroid Build Coastguard Worker    testonly = true
202*d9f75844SAndroid Build Coastguard Worker    sources = [ "mock_context.h" ]
203*d9f75844SAndroid Build Coastguard Worker    deps = [
204*d9f75844SAndroid Build Coastguard Worker      ":context",
205*d9f75844SAndroid Build Coastguard Worker      ":mock_callbacks",
206*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
207*d9f75844SAndroid Build Coastguard Worker      "../common:internal_types",
208*d9f75844SAndroid Build Coastguard Worker      "../packet:sctp_packet",
209*d9f75844SAndroid Build Coastguard Worker      "../public:socket",
210*d9f75844SAndroid Build Coastguard Worker      "../public:types",
211*d9f75844SAndroid Build Coastguard Worker    ]
212*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
213*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
214*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
215*d9f75844SAndroid Build Coastguard Worker    ]
216*d9f75844SAndroid Build Coastguard Worker  }
217*d9f75844SAndroid Build Coastguard Worker
218*d9f75844SAndroid Build Coastguard Worker  rtc_library("dcsctp_socket_unittests") {
219*d9f75844SAndroid Build Coastguard Worker    testonly = true
220*d9f75844SAndroid Build Coastguard Worker
221*d9f75844SAndroid Build Coastguard Worker    deps = [
222*d9f75844SAndroid Build Coastguard Worker      ":dcsctp_socket",
223*d9f75844SAndroid Build Coastguard Worker      ":heartbeat_handler",
224*d9f75844SAndroid Build Coastguard Worker      ":mock_callbacks",
225*d9f75844SAndroid Build Coastguard Worker      ":mock_context",
226*d9f75844SAndroid Build Coastguard Worker      ":packet_sender",
227*d9f75844SAndroid Build Coastguard Worker      ":stream_reset_handler",
228*d9f75844SAndroid Build Coastguard Worker      "../../../api:array_view",
229*d9f75844SAndroid Build Coastguard Worker      "../../../api:create_network_emulation_manager",
230*d9f75844SAndroid Build Coastguard Worker      "../../../api:network_emulation_manager_api",
231*d9f75844SAndroid Build Coastguard Worker      "../../../api/task_queue",
232*d9f75844SAndroid Build Coastguard Worker      "../../../api/task_queue:pending_task_safety_flag",
233*d9f75844SAndroid Build Coastguard Worker      "../../../api/units:time_delta",
234*d9f75844SAndroid Build Coastguard Worker      "../../../call:simulated_network",
235*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:checks",
236*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:copy_on_write_buffer",
237*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:gunit_helpers",
238*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:logging",
239*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:rtc_base_tests_utils",
240*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:socket_address",
241*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:stringutils",
242*d9f75844SAndroid Build Coastguard Worker      "../../../rtc_base:timeutils",
243*d9f75844SAndroid Build Coastguard Worker      "../../../test:test_support",
244*d9f75844SAndroid Build Coastguard Worker      "../common:handover_testing",
245*d9f75844SAndroid Build Coastguard Worker      "../common:internal_types",
246*d9f75844SAndroid Build Coastguard Worker      "../packet:chunk",
247*d9f75844SAndroid Build Coastguard Worker      "../packet:error_cause",
248*d9f75844SAndroid Build Coastguard Worker      "../packet:parameter",
249*d9f75844SAndroid Build Coastguard Worker      "../packet:sctp_packet",
250*d9f75844SAndroid Build Coastguard Worker      "../packet:tlv_trait",
251*d9f75844SAndroid Build Coastguard Worker      "../public:socket",
252*d9f75844SAndroid Build Coastguard Worker      "../public:types",
253*d9f75844SAndroid Build Coastguard Worker      "../public:utils",
254*d9f75844SAndroid Build Coastguard Worker      "../rx:data_tracker",
255*d9f75844SAndroid Build Coastguard Worker      "../rx:reassembly_queue",
256*d9f75844SAndroid Build Coastguard Worker      "../testing:data_generator",
257*d9f75844SAndroid Build Coastguard Worker      "../testing:testing_macros",
258*d9f75844SAndroid Build Coastguard Worker      "../timer",
259*d9f75844SAndroid Build Coastguard Worker      "../timer:task_queue_timeout",
260*d9f75844SAndroid Build Coastguard Worker      "../tx:mock_send_queue",
261*d9f75844SAndroid Build Coastguard Worker      "../tx:retransmission_queue",
262*d9f75844SAndroid Build Coastguard Worker    ]
263*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
264*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/flags:flag",
265*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/memory",
266*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
267*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
268*d9f75844SAndroid Build Coastguard Worker    ]
269*d9f75844SAndroid Build Coastguard Worker    sources = [
270*d9f75844SAndroid Build Coastguard Worker      "dcsctp_socket_network_test.cc",
271*d9f75844SAndroid Build Coastguard Worker      "dcsctp_socket_test.cc",
272*d9f75844SAndroid Build Coastguard Worker      "heartbeat_handler_test.cc",
273*d9f75844SAndroid Build Coastguard Worker      "packet_sender_test.cc",
274*d9f75844SAndroid Build Coastguard Worker      "state_cookie_test.cc",
275*d9f75844SAndroid Build Coastguard Worker      "stream_reset_handler_test.cc",
276*d9f75844SAndroid Build Coastguard Worker    ]
277*d9f75844SAndroid Build Coastguard Worker  }
278*d9f75844SAndroid Build Coastguard Worker}
279