Increase precision of SimulatedTaskQueue (from ms to us).

Bug: b/239155933
Change-Id: I1b90a969b9f781fe2902aa822020590683a04b7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270923
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37719}
This commit is contained in:
Mirko Bonadei
2022-08-09 08:24:17 +00:00
committed by WebRTC LUCI CQ
parent c0ce454868
commit 3b205da7e4
2 changed files with 2 additions and 7 deletions

View File

@ -292,8 +292,6 @@ class SctpActor : public rtc::MessageHandlerAutoCleanup,
double avg_received_bitrate_mbps(size_t remove_first_n = 3) const { double avg_received_bitrate_mbps(size_t remove_first_n = 3) const {
std::vector<double> bitrates = received_bitrate_mbps_; std::vector<double> bitrates = received_bitrate_mbps_;
bitrates.erase(bitrates.begin(), bitrates.begin() + remove_first_n); bitrates.erase(bitrates.begin(), bitrates.begin() + remove_first_n);
// The last entry isn't full - remove it as well.
bitrates.pop_back();
double sum = 0; double sum = 0;
for (double bitrate : bitrates) { for (double bitrate : bitrates) {
@ -518,7 +516,7 @@ TEST_F(DcSctpSocketNetworkTest, DCSCTP_NDEBUG_TEST(HasHighBandwidth)) {
// Verify that the bitrate is in the range of 540-640 Mbps // Verify that the bitrate is in the range of 540-640 Mbps
double bitrate = receiver.avg_received_bitrate_mbps(); double bitrate = receiver.avg_received_bitrate_mbps();
EXPECT_THAT(bitrate, AllOf(Ge(540), Le(640))); EXPECT_THAT(bitrate, AllOf(Ge(520), Le(640)));
} }
} // namespace } // namespace
} // namespace dcsctp } // namespace dcsctp

View File

@ -81,10 +81,7 @@ void SimulatedTaskQueue::PostDelayedHighPrecisionTask(
absl::AnyInvocable<void() &&> task, absl::AnyInvocable<void() &&> task,
TimeDelta delay) { TimeDelta delay) {
MutexLock lock(&lock_); MutexLock lock(&lock_);
// Some tests start to fail when precision of this simulated task queue is Timestamp target_time = handler_->CurrentTime() + delay;
// changed, thus delay is rounded to milliseconds.
Timestamp target_time =
handler_->CurrentTime() + TimeDelta::Millis(delay.ms());
delayed_tasks_[target_time].push_back(std::move(task)); delayed_tasks_[target_time].push_back(std::move(task));
next_run_time_ = std::min(next_run_time_, target_time); next_run_time_ = std::min(next_run_time_, target_time);
} }