blob: 58abd7ac314e6c07763eb2a790df41762ab9d3af [file] [log] [blame]
# 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 = [
"../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",
"../../../rtc_base",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../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/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("stream_reset_handler") {
deps = [
":context",
"../../../api:array_view",
"../../../rtc_base",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../common:internal_types",
"../common:str_join",
"../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/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("transmission_control_block") {
deps = [
":context",
":heartbeat_handler",
":stream_reset_handler",
"../../../api:array_view",
"../../../rtc_base",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../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/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("dcsctp_socket") {
deps = [
":context",
":heartbeat_handler",
":stream_reset_handler",
":transmission_control_block",
"../../../api:array_view",
"../../../api:refcountedbase",
"../../../api:scoped_refptr",
"../../../rtc_base",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../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.h",
"dcsctp_socket.cc",
"dcsctp_socket.h",
"state_cookie.cc",
"state_cookie.h",
]
absl_deps = [
"//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",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_base_approved",
"../../../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",
":stream_reset_handler",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:gunit_helpers",
"../../../rtc_base:rtc_base_approved",
"../../../test:test_support",
"../common:internal_types",
"../packet:chunk",
"../packet:error_cause",
"../packet:parameter",
"../packet:sctp_packet",
"../packet:tlv_trait",
"../public:socket",
"../public:types",
"../rx:data_tracker",
"../rx:reassembly_queue",
"../testing:data_generator",
"../testing:testing_macros",
"../timer",
"../tx:mock_send_queue",
"../tx:retransmission_queue",
]
absl_deps = [
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
sources = [
"dcsctp_socket_test.cc",
"heartbeat_handler_test.cc",
"state_cookie_test.cc",
"stream_reset_handler_test.cc",
]
}
}