# Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../../../webrtc.gni") rtc_source_set("context") { sources = [ "context.h" ] deps = [ "../../../api/units:time_delta", "../common:internal_types", "../packet:sctp_packet", "../public:socket", "../public:types", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("heartbeat_handler") { deps = [ ":context", "../../../api:array_view", "../../../api/units:time_delta", "../../../rtc_base:checks", "../../../rtc_base:logging", "../packet:bounded_io", "../packet:chunk", "../packet:parameter", "../packet:sctp_packet", "../public:socket", "../public:types", "../timer", ] sources = [ "heartbeat_handler.cc", "heartbeat_handler.h", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:bind_front", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("stream_reset_handler") { deps = [ ":context", "../../../api:array_view", "../../../api/units:time_delta", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:stringutils", "../../../rtc_base/containers:flat_set", "../common:internal_types", "../packet:chunk", "../packet:parameter", "../packet:sctp_packet", "../packet:tlv_trait", "../public:socket", "../public:types", "../rx:data_tracker", "../rx:reassembly_queue", "../timer", "../tx:retransmission_queue", ] sources = [ "stream_reset_handler.cc", "stream_reset_handler.h", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:bind_front", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("packet_sender") { deps = [ "../packet:sctp_packet", "../public:socket", "../public:types", "../timer", ] sources = [ "packet_sender.cc", "packet_sender.h", ] absl_deps = [] } rtc_library("transmission_control_block") { deps = [ ":context", ":heartbeat_handler", ":packet_sender", ":stream_reset_handler", "../../../api:array_view", "../../../api/task_queue:task_queue", "../../../api/units:time_delta", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:stringutils", "../common:sequence_numbers", "../packet:chunk", "../packet:sctp_packet", "../public:socket", "../public:types", "../rx:data_tracker", "../rx:reassembly_queue", "../timer", "../tx:retransmission_error_counter", "../tx:retransmission_queue", "../tx:retransmission_timeout", "../tx:send_queue", ] sources = [ "capabilities.h", "transmission_control_block.cc", "transmission_control_block.h", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:bind_front", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("dcsctp_socket") { deps = [ ":context", ":heartbeat_handler", ":packet_sender", ":stream_reset_handler", ":transmission_control_block", "../../../api:array_view", "../../../api:make_ref_counted", "../../../api:refcountedbase", "../../../api:scoped_refptr", "../../../api:sequence_checker", "../../../api/task_queue:task_queue", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:stringutils", "../common:internal_types", "../packet:bounded_io", "../packet:chunk", "../packet:chunk_validators", "../packet:data", "../packet:error_cause", "../packet:parameter", "../packet:sctp_packet", "../packet:tlv_trait", "../public:socket", "../public:types", "../rx:data_tracker", "../rx:reassembly_queue", "../timer", "../tx:retransmission_error_counter", "../tx:retransmission_queue", "../tx:retransmission_timeout", "../tx:rr_send_queue", "../tx:send_queue", ] sources = [ "callback_deferrer.cc", "callback_deferrer.h", "dcsctp_socket.cc", "dcsctp_socket.h", "state_cookie.cc", "state_cookie.h", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:bind_front", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } if (rtc_include_tests) { rtc_source_set("mock_callbacks") { testonly = true sources = [ "mock_dcsctp_socket_callbacks.h" ] deps = [ "../../../api:array_view", "../../../api/task_queue:task_queue", "../../../rtc_base:logging", "../../../rtc_base:random", "../../../test:test_support", "../public:socket", "../public:types", "../timer", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("mock_context") { testonly = true sources = [ "mock_context.h" ] deps = [ ":context", ":mock_callbacks", "../../../test:test_support", "../common:internal_types", "../packet:sctp_packet", "../public:socket", "../public:types", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("dcsctp_socket_unittests") { testonly = true deps = [ ":dcsctp_socket", ":heartbeat_handler", ":mock_callbacks", ":mock_context", ":packet_sender", ":stream_reset_handler", ":transmission_control_block", "../../../api:array_view", "../../../api:create_network_emulation_manager", "../../../api:network_emulation_manager_api", "../../../api/task_queue", "../../../api/task_queue:pending_task_safety_flag", "../../../api/units:time_delta", "../../../call:simulated_network", "../../../rtc_base:checks", "../../../rtc_base:copy_on_write_buffer", "../../../rtc_base:gunit_helpers", "../../../rtc_base:logging", "../../../rtc_base:rtc_base_tests_utils", "../../../rtc_base:socket_address", "../../../rtc_base:stringutils", "../../../rtc_base:timeutils", "../../../test:test_support", "../common:handover_testing", "../common:internal_types", "../common:math", "../packet:chunk", "../packet:error_cause", "../packet:parameter", "../packet:sctp_packet", "../packet:tlv_trait", "../public:socket", "../public:types", "../public:utils", "../rx:data_tracker", "../rx:reassembly_queue", "../testing:data_generator", "../testing:testing_macros", "../timer", "../timer:task_queue_timeout", "../tx:mock_send_queue", "../tx:retransmission_queue", ] absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] sources = [ "dcsctp_socket_network_test.cc", "dcsctp_socket_test.cc", "heartbeat_handler_test.cc", "packet_sender_test.cc", "state_cookie_test.cc", "stream_reset_handler_test.cc", "transmission_control_block_test.cc", ] } }