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