Preparation for E2E latency tuning
In order to be able to tune receiver's latency relying on timestamp mapping that we get from RTCP feedback, and UDP::Receive_timestamp, adding these features:
-
gh-674: Use receive timestamp (RTS) as report time when processing RTCP report;
-
RTT dumping for debugging (csvplotter ts_offset branch);
-
SCHED_RR for network io thread (run with root privs).
:robot: The latest upstream change made this pull request unmergeable. Please resolve the merge conflicts.
In test_communicator.cpp, there are a several calls to read_packet() which provide timestamp argument, but that makes little sense.
Since it's receive timestamp, it has meaning only when we're "delivering" packet to a communicator (and it should correspond to it's "local" time). But in cases when we're reading packet just to inspect it and throw away, timestamp is not actually used and specifying it looks confusing IMHO.
Diff below removes timestamps that are not needed.
diff --git a/src/tests/roc_rtcp/test_communicator.cpp b/src/tests/roc_rtcp/test_communicator.cpp
index fbe1e0d5..227dd902 100644
--- a/src/tests/roc_rtcp/test_communicator.cpp
+++ b/src/tests/roc_rtcp/test_communicator.cpp
@@ -3107,7 +3107,7 @@ TEST(communicator, report_to_address_sender) {
CHECK_EQUAL(1, send_comm.total_destinations());
CHECK_EQUAL(1, send_queue.size());
- pp = read_packet(send_queue, send_time);
+ pp = read_packet(send_queue);
expect_has_dest_address(pp, send_dest_addr);
expect_has_orig_ssrc(pp, SendSsrc, true);
expect_has_dest_ssrc(pp, Recv1Ssrc, true);
@@ -3279,7 +3279,7 @@ TEST(communicator, report_back_sender) {
CHECK_EQUAL(1, send_comm.total_destinations());
CHECK_EQUAL(1, send_queue.size());
- pp = read_packet(send_queue, send_time);
+ pp = read_packet(send_queue);
expect_has_dest_address(pp, recv1_addr);
expect_has_orig_ssrc(pp, SendSsrc, true);
expect_has_dest_ssrc(pp, Recv1Ssrc, true);
@@ -3320,13 +3320,13 @@ TEST(communicator, report_back_sender) {
CHECK_EQUAL(2, send_comm.total_destinations());
CHECK_EQUAL(2, send_queue.size());
- pp = read_packet(send_queue, send_time);
+ pp = read_packet(send_queue);
expect_has_dest_address(pp, recv1_addr);
expect_has_orig_ssrc(pp, SendSsrc, true);
expect_has_dest_ssrc(pp, Recv1Ssrc, true);
expect_has_dest_ssrc(pp, Recv2Ssrc, false);
- pp = read_packet(send_queue, send_time);
+ pp = read_packet(send_queue);
expect_has_dest_address(pp, recv2_addr);
expect_has_orig_ssrc(pp, SendSsrc, true);
expect_has_dest_ssrc(pp, Recv1Ssrc, false);
@@ -3423,7 +3423,7 @@ TEST(communicator, report_back_receiver) {
CHECK_EQUAL(1, recv_comm.total_destinations());
CHECK_EQUAL(1, recv_queue.size());
- pp = read_packet(recv_queue, send1_time);
+ pp = read_packet(recv_queue);
expect_has_dest_address(pp, send1_addr);
expect_has_orig_ssrc(pp, RecvSsrc, true);
expect_has_dest_ssrc(pp, Send1Ssrc, true);
@@ -3469,13 +3469,13 @@ TEST(communicator, report_back_receiver) {
CHECK_EQUAL(2, recv_comm.total_destinations());
CHECK_EQUAL(2, recv_queue.size());
- pp = read_packet(recv_queue, recv_time);
+ pp = read_packet(recv_queue);
expect_has_dest_address(pp, send1_addr);
expect_has_orig_ssrc(pp, RecvSsrc, true);
expect_has_dest_ssrc(pp, Send1Ssrc, true);
expect_has_dest_ssrc(pp, Send2Ssrc, false);
- pp = read_packet(recv_queue, recv_time);
+ pp = read_packet(recv_queue);
expect_has_dest_address(pp, send2_addr);
expect_has_orig_ssrc(pp, RecvSsrc, true);
expect_has_dest_ssrc(pp, Send1Ssrc, false);
@@ -3606,14 +3606,14 @@ TEST(communicator, report_back_combine_reports) {
CHECK_EQUAL(2, recv_comm.total_destinations());
CHECK_EQUAL(2, recv_queue.size());
- pp = read_packet(recv_queue, send3_time);
+ pp = read_packet(recv_queue);
expect_has_dest_address(pp, send1_addr);
expect_has_orig_ssrc(pp, RecvSsrc, true);
expect_has_dest_ssrc(pp, Send1Ssrc, true);
expect_has_dest_ssrc(pp, Send2Ssrc, true);
expect_has_dest_ssrc(pp, Send3Ssrc, false);
- pp = read_packet(recv_queue, send3_time);
+ pp = read_packet(recv_queue);
expect_has_dest_address(pp, send3_addr);
expect_has_orig_ssrc(pp, RecvSsrc, true);
expect_has_dest_ssrc(pp, Send1Ssrc, false);
@@ -4269,7 +4269,7 @@ TEST(communicator, rtt_network_reordering) {
recv_reorder_countdown = ReorderBurst;
}
recv_reorder_countdown--;
- packet::PacketPtr pp = read_packet(recv_queue, recv_time);
+ packet::PacketPtr pp = read_packet(recv_queue);
recv_packet_stash.push_back(*pp);
}
:robot: The latest upstream change made this pull request unmergeable. Please resolve the merge conflicts.
:robot: Pull request is currently unmergeable due to conflicts. Please rebase on up-to-date upstream branch, resolve merge conflicts, and force-push to pull request's branch. Remember to use rebase with force-push instead of a regular merge.