Fix race condition in ThroughputRecorder

PiperOrigin-RevId: 551361687
This commit is contained in:
Janusz Sobczak
2023-07-26 17:28:45 -07:00
committed by Copybara-Service
parent 2c1ed158bc
commit f3bbb8caeb
2 changed files with 6 additions and 1 deletions
@@ -138,6 +138,11 @@ bool ThroughputRecorder::Stop() {
return true;
}
void ThroughputRecorder::MarkAsSuccess() {
MutexLock lock(&mutex_);
success_ = true;
}
int ThroughputRecorder::CalculateThroughputKBps(int64_t total_byte_size,
int64_t total_millis) {
if (total_millis > 0) {
@@ -87,7 +87,7 @@ class ThroughputRecorder {
int64_t GetDurationMillis();
void OnFrameSent(Medium medium, PacketMetaData& packetMetaData);
void OnFrameReceived(Medium medium, PacketMetaData& packetMetaData);
void MarkAsSuccess() { success_ = true; }
void MarkAsSuccess();
private:
void CalculateDurationTimes(PacketMetaData packetMetaData);