blob: 3cb7df4cc26231409a3f0fcae84346953ac281a5 [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("send_queue") {
deps = [
"../../../api:array_view",
"../common:internal_types",
"../packet:chunk",
"../packet:data",
"../public:socket",
"../public:types",
]
sources = [ "send_queue.h" ]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("rr_send_queue") {
deps = [
":send_queue",
":stream_scheduler",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../../../rtc_base/containers:flat_map",
"../common:str_join",
"../packet:data",
"../public:socket",
"../public:types",
]
sources = [
"rr_send_queue.cc",
"rr_send_queue.h",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("stream_scheduler") {
deps = [
":send_queue",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../../../rtc_base:strong_alias",
"../../../rtc_base/containers:flat_set",
"../common:str_join",
"../packet:chunk",
"../packet:data",
"../packet:sctp_packet",
"../public:socket",
"../public:types",
]
sources = [
"stream_scheduler.cc",
"stream_scheduler.h",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("retransmission_error_counter") {
deps = [
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../public:types",
]
sources = [
"retransmission_error_counter.cc",
"retransmission_error_counter.h",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
rtc_library("retransmission_timeout") {
deps = [
"../../../rtc_base:checks",
"../public:types",
]
sources = [
"retransmission_timeout.cc",
"retransmission_timeout.h",
]
}
rtc_library("outstanding_data") {
deps = [
":retransmission_timeout",
":send_queue",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../common:math",
"../common:sequence_numbers",
"../common:str_join",
"../packet:chunk",
"../packet:data",
"../public:socket",
"../public:types",
"../timer",
]
sources = [
"outstanding_data.cc",
"outstanding_data.h",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("retransmission_queue") {
deps = [
":outstanding_data",
":retransmission_timeout",
":send_queue",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../../../rtc_base:stringutils",
"../common:math",
"../common:sequence_numbers",
"../common:str_join",
"../packet:chunk",
"../packet:data",
"../public:socket",
"../public:types",
"../timer",
]
sources = [
"retransmission_queue.cc",
"retransmission_queue.h",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
if (rtc_include_tests) {
rtc_source_set("mock_send_queue") {
testonly = true
deps = [
":send_queue",
"../../../api:array_view",
"../../../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
sources = [ "mock_send_queue.h" ]
}
rtc_library("dcsctp_tx_unittests") {
testonly = true
deps = [
":mock_send_queue",
":outstanding_data",
":retransmission_error_counter",
":retransmission_queue",
":retransmission_timeout",
":rr_send_queue",
":send_queue",
":stream_scheduler",
"../../../api:array_view",
"../../../api/task_queue:task_queue",
"../../../rtc_base:checks",
"../../../rtc_base:gunit_helpers",
"../../../test:test_support",
"../common:handover_testing",
"../common:math",
"../common:sequence_numbers",
"../packet:chunk",
"../packet:data",
"../packet:sctp_packet",
"../public:socket",
"../public:types",
"../socket:mock_callbacks",
"../socket:mock_callbacks",
"../testing:data_generator",
"../testing:testing_macros",
"../timer",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
sources = [
"outstanding_data_test.cc",
"retransmission_error_counter_test.cc",
"retransmission_queue_test.cc",
"retransmission_timeout_test.cc",
"rr_send_queue_test.cc",
"stream_scheduler_test.cc",
]
}
}