xref: /aosp_15_r20/external/webrtc/net/dcsctp/rx/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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_library("data_tracker") {
12  deps = [
13    "../../../api:array_view",
14    "../../../rtc_base:checks",
15    "../../../rtc_base:logging",
16    "../../../rtc_base:stringutils",
17    "../common:sequence_numbers",
18    "../packet:chunk",
19    "../packet:data",
20    "../public:socket",
21    "../timer",
22  ]
23  sources = [
24    "data_tracker.cc",
25    "data_tracker.h",
26  ]
27  absl_deps = [
28    "//third_party/abseil-cpp/absl/algorithm:container",
29    "//third_party/abseil-cpp/absl/strings",
30    "//third_party/abseil-cpp/absl/types:optional",
31  ]
32}
33
34rtc_source_set("reassembly_streams") {
35  deps = [
36    "../../../api:array_view",
37    "../common:sequence_numbers",
38    "../packet:chunk",
39    "../packet:data",
40    "../public:socket",
41    "../public:types",
42  ]
43  sources = [ "reassembly_streams.h" ]
44  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
45}
46
47rtc_library("interleaved_reassembly_streams") {
48  deps = [
49    ":reassembly_streams",
50    "../../../api:array_view",
51    "../../../rtc_base",
52    "../../../rtc_base:checks",
53    "../../../rtc_base:logging",
54    "../common:sequence_numbers",
55    "../packet:chunk",
56    "../packet:data",
57    "../public:types",
58  ]
59  sources = [
60    "interleaved_reassembly_streams.cc",
61    "interleaved_reassembly_streams.h",
62  ]
63  absl_deps = [
64    "//third_party/abseil-cpp/absl/algorithm:container",
65    "//third_party/abseil-cpp/absl/strings",
66    "//third_party/abseil-cpp/absl/types:optional",
67  ]
68}
69rtc_library("traditional_reassembly_streams") {
70  deps = [
71    ":reassembly_streams",
72    "../../../api:array_view",
73    "../../../rtc_base:checks",
74    "../../../rtc_base:logging",
75    "../common:sequence_numbers",
76    "../packet:chunk",
77    "../packet:data",
78    "../public:types",
79  ]
80  sources = [
81    "traditional_reassembly_streams.cc",
82    "traditional_reassembly_streams.h",
83  ]
84  absl_deps = [
85    "//third_party/abseil-cpp/absl/algorithm:container",
86    "//third_party/abseil-cpp/absl/strings",
87    "//third_party/abseil-cpp/absl/types:optional",
88  ]
89}
90
91rtc_library("reassembly_queue") {
92  deps = [
93    ":interleaved_reassembly_streams",
94    ":reassembly_streams",
95    ":traditional_reassembly_streams",
96    "../../../api:array_view",
97    "../../../rtc_base:checks",
98    "../../../rtc_base:logging",
99    "../common:internal_types",
100    "../common:sequence_numbers",
101    "../common:str_join",
102    "../packet:chunk",
103    "../packet:data",
104    "../packet:parameter",
105    "../public:socket",
106    "../public:types",
107  ]
108  sources = [
109    "reassembly_queue.cc",
110    "reassembly_queue.h",
111  ]
112  absl_deps = [
113    "//third_party/abseil-cpp/absl/strings",
114    "//third_party/abseil-cpp/absl/types:optional",
115  ]
116}
117
118if (rtc_include_tests) {
119  rtc_library("dcsctp_rx_unittests") {
120    testonly = true
121
122    deps = [
123      ":data_tracker",
124      ":interleaved_reassembly_streams",
125      ":reassembly_queue",
126      ":reassembly_streams",
127      ":traditional_reassembly_streams",
128      "../../../api:array_view",
129      "../../../api/task_queue:task_queue",
130      "../../../rtc_base:checks",
131      "../../../rtc_base:gunit_helpers",
132      "../../../test:test_support",
133      "../common:handover_testing",
134      "../common:sequence_numbers",
135      "../packet:chunk",
136      "../packet:data",
137      "../public:types",
138      "../testing:data_generator",
139      "../timer",
140    ]
141    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
142    sources = [
143      "data_tracker_test.cc",
144      "interleaved_reassembly_streams_test.cc",
145      "reassembly_queue_test.cc",
146      "traditional_reassembly_streams_test.cc",
147    ]
148  }
149}
150