RtcEventLogImpl nits
1. Make |output_period_ms_| optional, so as to clarify where it gets assigned a value. (I.e. the value set by the ctor is not retained.) 2. Some extra const modifiers. Bug: webrtc:8111 Change-Id: I9f3ad7ff763cfbc9c9385f7fd4325ba696772765 Reviewed-on: https://webrtc-review.googlesource.com/c/112588 Commit-Queue: Elad Alon <eladalon@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25877}
This commit is contained in:
@ -244,6 +244,7 @@ rtc_static_library("rtc_event_log_impl_base") {
|
|||||||
"../rtc_base:safe_minmax",
|
"../rtc_base:safe_minmax",
|
||||||
"../rtc_base:sequenced_task_checker",
|
"../rtc_base:sequenced_task_checker",
|
||||||
"//third_party/abseil-cpp/absl/memory",
|
"//third_party/abseil-cpp/absl/memory",
|
||||||
|
"//third_party/abseil-cpp/absl/types:optional",
|
||||||
]
|
]
|
||||||
|
|
||||||
if (rtc_enable_protobuf) {
|
if (rtc_enable_protobuf) {
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
|
#include "absl/types/optional.h"
|
||||||
#include "api/rtceventlogoutput.h"
|
#include "api/rtceventlogoutput.h"
|
||||||
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
|
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
|
||||||
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h"
|
#include "logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h"
|
||||||
@ -127,7 +128,7 @@ class RtcEventLogImpl final : public RtcEventLog {
|
|||||||
std::unique_ptr<RtcEventLogOutput> event_output_ RTC_GUARDED_BY(*task_queue_);
|
std::unique_ptr<RtcEventLogOutput> event_output_ RTC_GUARDED_BY(*task_queue_);
|
||||||
|
|
||||||
size_t num_config_events_written_ RTC_GUARDED_BY(*task_queue_);
|
size_t num_config_events_written_ RTC_GUARDED_BY(*task_queue_);
|
||||||
int64_t output_period_ms_ RTC_GUARDED_BY(*task_queue_);
|
absl::optional<int64_t> output_period_ms_ RTC_GUARDED_BY(*task_queue_);
|
||||||
int64_t last_output_ms_ RTC_GUARDED_BY(*task_queue_);
|
int64_t last_output_ms_ RTC_GUARDED_BY(*task_queue_);
|
||||||
bool output_scheduled_ RTC_GUARDED_BY(*task_queue_);
|
bool output_scheduled_ RTC_GUARDED_BY(*task_queue_);
|
||||||
|
|
||||||
@ -147,7 +148,6 @@ RtcEventLogImpl::RtcEventLogImpl(
|
|||||||
written_bytes_(0),
|
written_bytes_(0),
|
||||||
event_encoder_(std::move(event_encoder)),
|
event_encoder_(std::move(event_encoder)),
|
||||||
num_config_events_written_(0),
|
num_config_events_written_(0),
|
||||||
output_period_ms_(kImmediateOutput),
|
|
||||||
last_output_ms_(rtc::TimeMillis()),
|
last_output_ms_(rtc::TimeMillis()),
|
||||||
output_scheduled_(false),
|
output_scheduled_(false),
|
||||||
task_queue_(std::move(task_queue)) {
|
task_queue_(std::move(task_queue)) {
|
||||||
@ -250,7 +250,8 @@ void RtcEventLogImpl::ScheduleOutput() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output_period_ms_ == kImmediateOutput) {
|
RTC_DCHECK(output_period_ms_.has_value());
|
||||||
|
if (*output_period_ms_ == kImmediateOutput) {
|
||||||
// We are already on the |task_queue_| so there is no reason to post a task
|
// We are already on the |task_queue_| so there is no reason to post a task
|
||||||
// if we want to output immediately.
|
// if we want to output immediately.
|
||||||
LogEventsFromMemoryToOutput();
|
LogEventsFromMemoryToOutput();
|
||||||
@ -268,10 +269,10 @@ void RtcEventLogImpl::ScheduleOutput() {
|
|||||||
}
|
}
|
||||||
output_scheduled_ = false;
|
output_scheduled_ = false;
|
||||||
};
|
};
|
||||||
int64_t now_ms = rtc::TimeMillis();
|
const int64_t now_ms = rtc::TimeMillis();
|
||||||
int64_t time_since_output_ms = now_ms - last_output_ms_;
|
const int64_t time_since_output_ms = now_ms - last_output_ms_;
|
||||||
uint32_t delay = rtc::SafeClamp(output_period_ms_ - time_since_output_ms, 0,
|
const uint32_t delay = rtc::SafeClamp(
|
||||||
output_period_ms_);
|
*output_period_ms_ - time_since_output_ms, 0, *output_period_ms_);
|
||||||
task_queue_->PostDelayedTask(output_task, delay);
|
task_queue_->PostDelayedTask(output_task, delay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user