Do not report bucket delay for stats when pacer is paused (zero returned).
Avoids reporting a growing delay (i.e. time b/w current time and oldest packet in the pacer). BUG=webrtc:6253 Review-Url: https://codereview.webrtc.org/2279283002 Cr-Commit-Position: refs/heads/master@{#14118}
This commit is contained in:
parent
a264ecc456
commit
14f1250f47
@ -309,7 +309,7 @@ void CongestionController::SetAllocatedSendBitrateLimits(
|
||||
}
|
||||
|
||||
int64_t CongestionController::GetPacerQueuingDelayMs() const {
|
||||
return pacer_->QueueInMs();
|
||||
return IsNetworkDown() ? 0 : pacer_->QueueInMs();
|
||||
}
|
||||
|
||||
void CongestionController::SignalNetworkState(NetworkState state) {
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "webrtc/system_wrappers/include/clock.h"
|
||||
|
||||
using testing::_;
|
||||
using testing::AtLeast;
|
||||
using testing::NiceMock;
|
||||
using testing::Return;
|
||||
using testing::SaveArg;
|
||||
@ -169,5 +170,21 @@ TEST_F(CongestionControllerTest,
|
||||
controller_->Process();
|
||||
}
|
||||
|
||||
TEST_F(CongestionControllerTest, GetPacerQueuingDelayMs) {
|
||||
EXPECT_CALL(observer_, OnNetworkChanged(_, _, _)).Times(AtLeast(1));
|
||||
|
||||
const int64_t kQueueTimeMs = 123;
|
||||
EXPECT_CALL(*pacer_, QueueInMs()).WillRepeatedly(Return(kQueueTimeMs));
|
||||
EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
|
||||
|
||||
// Expect zero pacer delay when network is down.
|
||||
controller_->SignalNetworkState(kNetworkDown);
|
||||
EXPECT_EQ(0, controller_->GetPacerQueuingDelayMs());
|
||||
|
||||
// Network is up, pacer delay should be reported.
|
||||
controller_->SignalNetworkState(kNetworkUp);
|
||||
EXPECT_EQ(kQueueTimeMs, controller_->GetPacerQueuingDelayMs());
|
||||
}
|
||||
|
||||
} // namespace test
|
||||
} // namespace webrtc
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user