
The Data Tracker's purpose is to keep track of all received DATA chunks and to ACK/NACK that data, by generating SACK chunks reflecting its view of what has been received and what has been lost. It also contains logic for _when_ to send the SACKs, as that's different depending on e.g. packet loss. Generally, SACKs are sent every second packet on a connection with no packet loss, and can also be sent on a delayed timer. In case partial reliability is used, and the transmitter has decided that some data shouldn't be retransmitted, it will send a FORWARD-TSN chunk, which this class also handles, by "forgetting" about those chunks. Bug: webrtc:12614 Change-Id: Ifafb0c211f6a47872e81830165ab5fc43ee7f366 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213664 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33676}
24 lines
745 B
Plaintext
24 lines
745 B
Plaintext
# 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")
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_test("dcsctp_unittests") {
|
|
testonly = true
|
|
deps = [
|
|
"../../test:test_main",
|
|
"common:dcsctp_common_unittests",
|
|
"packet:dcsctp_packet_unittests",
|
|
"public:dcsctp_public_unittests",
|
|
"rx:dcsctp_rx_unittests",
|
|
"timer:dcsctp_timer_unittests",
|
|
]
|
|
}
|
|
}
|