[NoCheck] Pass logger::Encoder by reference
This should never be null, and as such can be passed by reference
- Removes 2 CHECK calls
- Makes logger::Encoder move-only
Change-Id: Iba7ee24190ba3e46a64942e429c63082f0ceec32
Reviewed-on: https://fuchsia-review.googlesource.com/c/cobalt/+/658847
Reviewed-by: Andrew Hwang <anhwang@google.com>
Commit-Queue: Zach Bush <zmbush@google.com>
Fuchsia-Auto-Submit: Zach Bush <zmbush@google.com>
diff --git a/src/local_aggregation/aggregate_store.cc b/src/local_aggregation/aggregate_store.cc
index b4b97a7..606878f 100644
--- a/src/local_aggregation/aggregate_store.cc
+++ b/src/local_aggregation/aggregate_store.cc
@@ -167,7 +167,7 @@
} // namespace
AggregateStore::AggregateStore(
- const Encoder* encoder, const ObservationWriter* observation_writer,
+ const Encoder& encoder, const ObservationWriter* observation_writer,
// TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
ConsistentProtoStore* local_aggregate_proto_store,
ConsistentProtoStore* obs_history_proto_store, const size_t backfill_days)
@@ -687,8 +687,8 @@
Status AggregateStore::GenerateSingleUniqueActivesObservation(
const MetricRef metric_ref, const ReportDefinition* report, uint32_t obs_day_index,
uint32_t event_code, const OnDeviceAggregationWindow& window, bool was_active) const {
- auto encoder_result = encoder_->EncodeUniqueActivesObservation(metric_ref, report, obs_day_index,
- event_code, was_active, window);
+ auto encoder_result = encoder_.EncodeUniqueActivesObservation(metric_ref, report, obs_day_index,
+ event_code, was_active, window);
if (!encoder_result.status.ok()) {
return encoder_result.status;
}
@@ -859,8 +859,8 @@
const std::string& component, uint32_t event_code, const OnDeviceAggregationWindow& window,
int64_t value) const {
Encoder::Result encoder_result =
- encoder_->EncodePerDeviceNumericObservation(metric_ref, report, obs_day_index, component,
- UnpackEventCodesProto(event_code), value, window);
+ encoder_.EncodePerDeviceNumericObservation(metric_ref, report, obs_day_index, component,
+ UnpackEventCodesProto(event_code), value, window);
if (!encoder_result.status.ok()) {
return encoder_result.status;
}
@@ -879,7 +879,7 @@
const MetricRef metric_ref, const ReportDefinition* report, uint32_t obs_day_index,
const std::string& component, uint32_t event_code, const OnDeviceAggregationWindow& window,
int64_t value) const {
- Encoder::Result encoder_result = encoder_->EncodePerDeviceHistogramObservation(
+ Encoder::Result encoder_result = encoder_.EncodePerDeviceHistogramObservation(
metric_ref, report, obs_day_index, component, UnpackEventCodesProto(event_code), value,
window);
@@ -902,7 +902,7 @@
const ReportDefinition* report,
uint32_t obs_day_index) const {
auto encoder_result =
- encoder_->EncodeReportParticipationObservation(metric_ref, report, obs_day_index);
+ encoder_.EncodeReportParticipationObservation(metric_ref, report, obs_day_index);
if (!encoder_result.status.ok()) {
return encoder_result.status;
}
diff --git a/src/local_aggregation/aggregate_store.h b/src/local_aggregation/aggregate_store.h
index f9eff09..9f9a709 100644
--- a/src/local_aggregation/aggregate_store.h
+++ b/src/local_aggregation/aggregate_store.h
@@ -68,7 +68,7 @@
// generates and sends Observations, in addition to a requested day index.
// See the comment above GenerateObservations for more detail. The constructor CHECK-fails if a
// value larger than |kMaxAllowedBackfillDays| is passed.
- AggregateStore(const logger::Encoder* encoder,
+ AggregateStore(const logger::Encoder& encoder,
const logger::ObservationWriter* observation_writer,
util::ConsistentProtoStore* local_aggregate_proto_store,
util::ConsistentProtoStore* obs_history_proto_store, size_t backfill_days = 0);
@@ -339,7 +339,7 @@
size_t backfill_days_ = 0;
// Objects used to generate observations.
- const logger::Encoder* encoder_; // not owned
+ const logger::Encoder& encoder_; // not owned
const logger::ObservationWriter* observation_writer_; // not owned
// Used for loading and backing up the proto stores to disk.
diff --git a/src/local_aggregation/aggregate_store_test.cc b/src/local_aggregation/aggregate_store_test.cc
index 7d83bfe..897c731 100644
--- a/src/local_aggregation/aggregate_store_test.cc
+++ b/src/local_aggregation/aggregate_store_test.cc
@@ -220,7 +220,7 @@
cfg.obs_history_proto_store_path = obs_history_path();
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
day_store_created_ = CurrentDayIndex();
test_steady_clock_ = new IncrementingSteadyClock(std::chrono::system_clock::duration(0));
event_aggregator_mgr_->SetSteadyClock(test_steady_clock_);
diff --git a/src/local_aggregation/event_aggregator_mgr.cc b/src/local_aggregation/event_aggregator_mgr.cc
index 4505a24..b02c0a4 100644
--- a/src/local_aggregation/event_aggregator_mgr.cc
+++ b/src/local_aggregation/event_aggregator_mgr.cc
@@ -26,7 +26,7 @@
const std::chrono::seconds EventAggregatorManager::kDefaultGCInterval = std::chrono::hours(24);
EventAggregatorManager::EventAggregatorManager(const CobaltConfig& cfg, util::FileSystem& fs,
- const logger::Encoder* encoder,
+ const logger::Encoder& encoder,
const logger::ObservationWriter* observation_writer,
MetadataBuilder& metadata_builder)
: encoder_(encoder),
diff --git a/src/local_aggregation/event_aggregator_mgr.h b/src/local_aggregation/event_aggregator_mgr.h
index 884c38d..d2e1bc1 100644
--- a/src/local_aggregation/event_aggregator_mgr.h
+++ b/src/local_aggregation/event_aggregator_mgr.h
@@ -62,7 +62,7 @@
//
// observation_writer: The interface EventAggregator can use to write aggregated observations.
EventAggregatorManager(const CobaltConfig& cfg, util::FileSystem& fs,
- const logger::Encoder* encoder,
+ const logger::Encoder& encoder,
const logger::ObservationWriter* observation_writer,
MetadataBuilder& metadata_builder);
@@ -161,7 +161,7 @@
std::condition_variable_any wakeup_notifier;
};
- const logger::Encoder* encoder_;
+ const logger::Encoder& encoder_;
const logger::ObservationWriter* observation_writer_;
MetadataBuilder& metadata_builder_;
logger::InternalMetrics* internal_metrics_ = nullptr;
diff --git a/src/local_aggregation/event_aggregator_mgr_test.cc b/src/local_aggregation/event_aggregator_mgr_test.cc
index 074e9bb..c2e6d61 100644
--- a/src/local_aggregation/event_aggregator_mgr_test.cc
+++ b/src/local_aggregation/event_aggregator_mgr_test.cc
@@ -92,7 +92,7 @@
cfg.obs_history_proto_store_path = obs_history_path();
auto event_aggregator_mgr = std::make_unique<TestEventAggregatorManager>(
- cfg, fs_, encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs_, *encoder_, observation_writer_.get(), *metadata_builder_);
event_aggregator_mgr->SetSteadyClock(steady_clock);
return event_aggregator_mgr;
}
diff --git a/src/local_aggregation/event_aggregator_test.cc b/src/local_aggregation/event_aggregator_test.cc
index dd0177f..52b012f 100644
--- a/src/local_aggregation/event_aggregator_test.cc
+++ b/src/local_aggregation/event_aggregator_test.cc
@@ -112,7 +112,7 @@
cfg.obs_history_proto_store_path = obs_history_path();
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
// Pass this clock to the EventAggregator::Start method, if it is called.
test_clock_ = std::make_unique<IncrementingSystemClock>(std::chrono::system_clock::duration(0));
// Initilize it to 10 years after the beginning of time.
diff --git a/src/local_aggregation/test_utils/test_event_aggregator_mgr.h b/src/local_aggregation/test_utils/test_event_aggregator_mgr.h
index 1a9666d..0021a10 100644
--- a/src/local_aggregation/test_utils/test_event_aggregator_mgr.h
+++ b/src/local_aggregation/test_utils/test_event_aggregator_mgr.h
@@ -13,7 +13,7 @@
class TestEventAggregatorManager : public EventAggregatorManager {
public:
TestEventAggregatorManager(const CobaltConfig& cfg, util::FileSystem& fs,
- const logger::Encoder* encoder,
+ const logger::Encoder& encoder,
const logger::ObservationWriter* observation_writer,
MetadataBuilder& metadata_builder)
: EventAggregatorManager(cfg, fs, encoder, observation_writer, metadata_builder) {}
diff --git a/src/logger/encoder.h b/src/logger/encoder.h
index 88ff463..1e30a2e 100644
--- a/src/logger/encoder.h
+++ b/src/logger/encoder.h
@@ -75,6 +75,10 @@
// metadata_builder.
Encoder(system_data::ClientSecret client_secret, MetadataBuilder& metadata_builder);
+ // Encoder should be move-only.
+ Encoder(Encoder const&) = delete;
+ Encoder& operator=(Encoder const&) = delete;
+
//////////////////////////////////////////////////////////////////////////////////////////////////
//
// Cobalt 1.0 Encoding methods.
diff --git a/src/logger/event_loggers.cc b/src/logger/event_loggers.cc
index 339ddb2..4e95319 100644
--- a/src/logger/event_loggers.cc
+++ b/src/logger/event_loggers.cc
@@ -32,7 +32,7 @@
constexpr char TRACE_PREFIX[] = "[COBALT_EVENT_TRACE] ";
std::unique_ptr<EventLogger> EventLogger::Create(
- MetricDefinition::MetricType metric_type, const Encoder* encoder,
+ MetricDefinition::MetricType metric_type, const Encoder& encoder,
EventAggregator* event_aggregator, local_aggregation::LocalAggregation* local_aggregation,
const ObservationWriter* observation_writer,
const system_data::SystemDataInterface* system_data,
@@ -543,7 +543,7 @@
// Each report type has its own logic for generating immediate
// observations.
case ReportDefinition::SIMPLE_OCCURRENCE_COUNT: {
- return encoder()->EncodeBasicRapporObservation(
+ return encoder().EncodeBasicRapporObservation(
event_record->project_context()->RefMetric(&metric), &report, event.day_index(),
event_occurred_event.event_code(), RapporConfigHelper::BasicRapporNumCategories(metric));
}
@@ -594,7 +594,7 @@
case ReportDefinition::EVENT_COMPONENT_OCCURRENCE_COUNT:
case ReportDefinition::INT_RANGE_HISTOGRAM:
case ReportDefinition::NUMERIC_AGGREGATION: {
- return encoder()->EncodeIntegerEventObservation(
+ return encoder().EncodeIntegerEventObservation(
event_record->project_context()->RefMetric(&metric), &report, event.day_index(),
event_count_event->event_code(), event_count_event->component(),
event_count_event->count());
@@ -639,7 +639,7 @@
// observations.
case ReportDefinition::NUMERIC_AGGREGATION:
case ReportDefinition::INT_RANGE_HISTOGRAM: {
- return encoder()->EncodeIntegerEventObservation(
+ return encoder().EncodeIntegerEventObservation(
event_record->project_context()->RefMetric(&metric), &report, event.day_index(),
EventCodes(event), Component(event), IntValue(event));
break;
@@ -848,7 +848,7 @@
} else {
histogram->CopyFrom(int_histogram_event->buckets());
}
- return encoder()->EncodeHistogramObservation(
+ return encoder().EncodeHistogramObservation(
event_record->project_context()->RefMetric(&metric), &report, event.day_index(),
int_histogram_event->event_code(), int_histogram_event->component(),
std::move(histogram));
@@ -1028,7 +1028,7 @@
} else {
*serialized_proto = custom_event->serialized_proto();
}
- return encoder()->EncodeSerializedCustomObservation(
+ return encoder().EncodeSerializedCustomObservation(
event_record->project_context()->RefMetric(&metric), &report, event.day_index(),
std::move(serialized_proto));
}
@@ -1042,9 +1042,8 @@
event_values = std::make_unique<google::protobuf::Map<std::string, CustomDimensionValue>>(
custom_event->values());
}
- return encoder()->EncodeCustomObservation(event_record->project_context()->RefMetric(&metric),
- &report, event.day_index(),
- std::move(event_values));
+ return encoder().EncodeCustomObservation(event_record->project_context()->RefMetric(&metric),
+ &report, event.day_index(), std::move(event_values));
}
default:
diff --git a/src/logger/event_loggers.h b/src/logger/event_loggers.h
index 9e031a0..a87a175 100644
--- a/src/logger/event_loggers.h
+++ b/src/logger/event_loggers.h
@@ -33,7 +33,7 @@
// of EventLogger for each of several Metric types.
class EventLogger {
public:
- EventLogger(const Encoder* encoder, local_aggregation::EventAggregator* event_aggregator,
+ EventLogger(const Encoder& encoder, local_aggregation::EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
const ObservationWriter* observation_writer,
const system_data::SystemDataInterface* system_data,
@@ -53,7 +53,7 @@
//
// The remaining parameters are passed to the EventLogger constructor.
static std::unique_ptr<EventLogger> Create(
- MetricDefinition::MetricType metric_type, const Encoder* encoder,
+ MetricDefinition::MetricType metric_type, const Encoder& encoder,
local_aggregation::EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
const ObservationWriter* observation_writer,
@@ -72,7 +72,7 @@
EventRecord* event_record);
protected:
- const Encoder* encoder() { return encoder_; }
+ const Encoder& encoder() { return encoder_; }
local_aggregation::EventAggregator* event_aggregator() { return event_aggregator_; }
local_aggregation::LocalAggregation* local_aggregation() { return local_aggregation_; }
@@ -151,7 +151,7 @@
// |trace| The string output from TraceEvent().
static void TraceLogSuccess(const EventRecord& event_record, const std::string& trace);
- const Encoder* encoder_;
+ const Encoder& encoder_;
local_aggregation::EventAggregator* event_aggregator_;
local_aggregation::LocalAggregation* local_aggregation_;
const ObservationWriter* observation_writer_;
diff --git a/src/logger/event_loggers_test.cc b/src/logger/event_loggers_test.cc
index 753a353..ac5b46d 100644
--- a/src/logger/event_loggers_test.cc
+++ b/src/logger/event_loggers_test.cc
@@ -118,14 +118,14 @@
project_context_factory_ = GetTestProjectContextFactory(registry_base64);
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
observation_writer_.get(), civil_time_converter_.get());
project_context_ = GetTestProject(registry_base64);
event_aggregator_mgr_->GetEventAggregator()->UpdateAggregationConfigs(*project_context_);
logger_ = std::make_unique<EventLoggerClass>(
- encoder_.get(), event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
+ *encoder_, event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
observation_writer_.get(), &system_data_, civil_time_converter_.get());
}
@@ -1507,7 +1507,7 @@
cfg.obs_history_proto_store_path = obs_history_path();
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
event_aggregator_mgr_->GetEventAggregator()->UpdateAggregationConfigs(*project_context_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
@@ -1517,8 +1517,8 @@
std::unique_ptr<EventLogger> GetEventLoggerForMetricType(
MetricDefinition::MetricType metric_type) {
auto logger = EventLogger::Create(
- metric_type, nullptr, event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
- nullptr, nullptr, civil_time_converter_.get());
+ metric_type, *encoder_, event_aggregator_mgr_->GetEventAggregator(),
+ local_aggregation_.get(), nullptr, nullptr, civil_time_converter_.get());
return logger;
}
@@ -1751,7 +1751,7 @@
cfg.local_aggregate_store_dir = local_aggregation_store_path();
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
event_aggregator_mgr_->GetEventAggregator()->UpdateAggregationConfigs(*project_context_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
@@ -1777,8 +1777,8 @@
std::unique_ptr<EventLogger> GetEventLoggerForMetricType(
MetricDefinition::MetricType metric_type) {
auto logger = EventLogger::Create(
- metric_type, nullptr, event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
- nullptr, nullptr, civil_time_converter_.get());
+ metric_type, *encoder_, event_aggregator_mgr_->GetEventAggregator(),
+ local_aggregation_.get(), nullptr, nullptr, civil_time_converter_.get());
return logger;
}
diff --git a/src/logger/logger.cc b/src/logger/logger.cc
index 5f00e92..b33ff6f 100644
--- a/src/logger/logger.cc
+++ b/src/logger/logger.cc
@@ -40,7 +40,7 @@
} // namespace
-Logger::Logger(std::unique_ptr<ProjectContext> project_context, const Encoder* encoder,
+Logger::Logger(std::unique_ptr<ProjectContext> project_context, const Encoder& encoder,
EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer, system_data::SystemDataInterface* system_data,
@@ -52,7 +52,7 @@
std::weak_ptr<UndatedEventManager>(), std::move(experiment_ids),
enable_replacement_metrics, internal_metrics) {}
-Logger::Logger(std::unique_ptr<ProjectContext> project_context, const Encoder* encoder,
+Logger::Logger(std::unique_ptr<ProjectContext> project_context, const Encoder& encoder,
EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer, system_data::SystemDataInterface* system_data,
@@ -74,7 +74,6 @@
enable_replacement_metrics_(enable_replacement_metrics),
internal_metrics_(internal_metrics) {
CHECK(project_context_);
- CHECK(encoder_);
CHECK(event_aggregator_);
CHECK(local_aggregation_);
CHECK(observation_writer_);
diff --git a/src/logger/logger.h b/src/logger/logger.h
index 058fc21..fc10bcc 100644
--- a/src/logger/logger.h
+++ b/src/logger/logger.h
@@ -75,7 +75,7 @@
// |internal_metrics| An instance of InternalMetrics, used internally by the
// Logger to send metrics about Cobalt to Cobalt. If nullptr, no such internal
// logging will be performed by this Logger.
- Logger(std::unique_ptr<ProjectContext> project_context, const Encoder* encoder,
+ Logger(std::unique_ptr<ProjectContext> project_context, const Encoder& encoder,
local_aggregation::EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer, system_data::SystemDataInterface* system_data,
@@ -124,7 +124,7 @@
// |internal_metrics| An instance of InternalMetrics, used internally by the
// Logger to send metrics about Cobalt to Cobalt. If nullptr, no such internal
// logging will be performed by this Logger.
- Logger(std::unique_ptr<ProjectContext> project_context, const Encoder* encoder,
+ Logger(std::unique_ptr<ProjectContext> project_context, const Encoder& encoder,
local_aggregation::EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer, system_data::SystemDataInterface* system_data,
@@ -201,7 +201,7 @@
// Logger class.
const std::shared_ptr<const ProjectContext> project_context_;
- const Encoder* encoder_;
+ const Encoder& encoder_;
local_aggregation::EventAggregator* event_aggregator_;
local_aggregation::LocalAggregation* local_aggregation_;
const ObservationWriter* observation_writer_;
diff --git a/src/logger/logger_test.cc b/src/logger/logger_test.cc
index edbf3e1..714f86c 100644
--- a/src/logger/logger_test.cc
+++ b/src/logger/logger_test.cc
@@ -115,7 +115,7 @@
project_context_factory_ = GetTestProjectContextFactory(registry_base64);
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
observation_writer_.get(), civil_time_converter_.get());
@@ -123,16 +123,15 @@
internal_metrics_ = InternalMetrics::NewWithLogger(internal_logger_.get(), nullptr);
undated_event_manager_ = std::make_shared<UndatedEventManager>(
- encoder_.get(), event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
+ *encoder_, event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
observation_writer_.get(), &system_data_, civil_time_converter_.get());
std::vector<uint32_t> fake_experiment_ids = {123456789, 987654321};
- logger_ = std::make_unique<Logger>(GetTestProject(registry_base64), encoder_.get(),
- event_aggregator_mgr_->GetEventAggregator(),
- local_aggregation_.get(), observation_writer_.get(),
- &system_data_, validated_clock_.get(),
- civil_time_converter_.get(), undated_event_manager_,
- fake_experiment_ids, true, internal_metrics_.get());
+ logger_ = std::make_unique<Logger>(
+ GetTestProject(registry_base64), *encoder_, event_aggregator_mgr_->GetEventAggregator(),
+ local_aggregation_.get(), observation_writer_.get(), &system_data_, validated_clock_.get(),
+ civil_time_converter_.get(), undated_event_manager_, fake_experiment_ids, true,
+ internal_metrics_.get());
}
void TearDown() override {
@@ -1165,7 +1164,7 @@
GetTestProjectContextFactory(testing::all_report_types::kCobaltRegistryBase64);
event_aggregator_mgr_ = std::make_unique<TestEventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
observation_writer_.get(), civil_time_converter_.get());
@@ -1174,7 +1173,7 @@
std::vector<uint32_t> empty_experiment_ids = {};
logger_ = std::make_unique<Logger>(
- GetTestProject(testing::all_report_types::kCobaltRegistryBase64), encoder_.get(),
+ GetTestProject(testing::all_report_types::kCobaltRegistryBase64), *encoder_,
event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
observation_writer_.get(), &system_data_, civil_time_converter_.get(), empty_experiment_ids,
internal_logger_.get());
diff --git a/src/logger/undated_event_manager.cc b/src/logger/undated_event_manager.cc
index e52c33d..3085deb 100644
--- a/src/logger/undated_event_manager.cc
+++ b/src/logger/undated_event_manager.cc
@@ -19,7 +19,7 @@
using local_aggregation::EventAggregator;
-UndatedEventManager::UndatedEventManager(const Encoder* encoder, EventAggregator* event_aggregator,
+UndatedEventManager::UndatedEventManager(const Encoder& encoder, EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer,
system_data::SystemDataInterface* system_data,
@@ -32,7 +32,6 @@
system_data_(system_data),
civil_time_converter_(civil_time_converter),
max_saved_events_(max_saved_events) {
- CHECK(encoder_);
CHECK(event_aggregator_);
CHECK(local_aggregation_);
CHECK(observation_writer_);
diff --git a/src/logger/undated_event_manager.h b/src/logger/undated_event_manager.h
index 0555c9e..1cd0d91 100644
--- a/src/logger/undated_event_manager.h
+++ b/src/logger/undated_event_manager.h
@@ -51,7 +51,7 @@
//
// |max_saved_events| The maximum number of saved events. When this limit is reached, old events
// are dropped to make room for new events.
- UndatedEventManager(const Encoder* encoder, local_aggregation::EventAggregator* event_aggregator,
+ UndatedEventManager(const Encoder& encoder, local_aggregation::EventAggregator* event_aggregator,
local_aggregation::LocalAggregation* local_aggregation,
ObservationWriter* observation_writer,
system_data::SystemDataInterface* system_data,
@@ -84,7 +84,7 @@
const std::chrono::steady_clock::time_point& reference_monotonic_time);
// Used only to construct EventLogger instances.
- const Encoder* encoder_;
+ const Encoder& encoder_;
local_aggregation::EventAggregator* event_aggregator_;
local_aggregation::LocalAggregation* local_aggregation_;
const ObservationWriter* observation_writer_;
diff --git a/src/logger/undated_event_manager_test.cc b/src/logger/undated_event_manager_test.cc
index fe2afc8..d7a2d8c 100644
--- a/src/logger/undated_event_manager_test.cc
+++ b/src/logger/undated_event_manager_test.cc
@@ -94,7 +94,7 @@
GetTestProjectContextFactory(testing::all_report_types::kCobaltRegistryBase64);
event_aggregator_mgr_ = std::make_unique<EventAggregatorManager>(
- cfg, fs(), encoder_.get(), observation_writer_.get(), *metadata_builder_);
+ cfg, fs(), *encoder_, observation_writer_.get(), *metadata_builder_);
local_aggregation_ = std::make_unique<LocalAggregation>(
cfg, project_context_factory_.get(), &system_data_, *metadata_builder_, fs(),
observation_writer_.get(), civil_time_converter_.get());
@@ -103,7 +103,7 @@
internal_metrics_ = logger::InternalMetrics::NewWithLogger(internal_logger_.get(), nullptr);
undated_event_manager_ = std::make_unique<UndatedEventManager>(
- encoder_.get(), event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
+ *encoder_, event_aggregator_mgr_->GetEventAggregator(), local_aggregation_.get(),
observation_writer_.get(), &system_data_, civil_time_converter_.get(), kMaxSavedEvents);
undated_event_manager_->SetSteadyClock(mock_steady_clock_);
}
diff --git a/src/public/cobalt_service.cc b/src/public/cobalt_service.cc
index e32ec04..146a672 100644
--- a/src/public/cobalt_service.cc
+++ b/src/public/cobalt_service.cc
@@ -113,12 +113,12 @@
encrypt_to_analyzer_.get()),
civil_time_converter_(cfg.civil_time_converter ? std::move(cfg.civil_time_converter)
: std::make_unique<util::UtcTimeConverter>()),
- event_aggregator_manager_(cfg, *fs_, &logger_encoder_, &observation_writer_,
+ event_aggregator_manager_(cfg, *fs_, logger_encoder_, &observation_writer_,
metadata_builder_),
local_aggregation_(cfg, global_project_context_factory_.get(), &system_data_,
metadata_builder_, *fs_, &observation_writer_, civil_time_converter()),
undated_event_manager_(new logger::UndatedEventManager(
- &logger_encoder_, event_aggregator_manager_.GetEventAggregator(), &local_aggregation_,
+ logger_encoder_, event_aggregator_manager_.GetEventAggregator(), &local_aggregation_,
&observation_writer_, &system_data_, civil_time_converter())),
validated_clock_(cfg.validated_clock),
internal_logger_(
@@ -180,13 +180,13 @@
include_internal_logger ? internal_metrics_.get() : nullptr;
if (undated_event_manager_) {
return std::make_unique<logger::Logger>(
- std::move(project_context), &logger_encoder_,
- event_aggregator_manager_.GetEventAggregator(), &local_aggregation_, &observation_writer_,
- &system_data_, validated_clock_, civil_time_converter(), undated_event_manager_,
- std::move(experiment_ids), enable_replacement_metrics_, metrics);
+ std::move(project_context), logger_encoder_, event_aggregator_manager_.GetEventAggregator(),
+ &local_aggregation_, &observation_writer_, &system_data_, validated_clock_,
+ civil_time_converter(), undated_event_manager_, std::move(experiment_ids),
+ enable_replacement_metrics_, metrics);
}
return std::make_unique<logger::Logger>(
- std::move(project_context), &logger_encoder_, event_aggregator_manager_.GetEventAggregator(),
+ std::move(project_context), logger_encoder_, event_aggregator_manager_.GetEventAggregator(),
&local_aggregation_, &observation_writer_, &system_data_, civil_time_converter(),
std::move(experiment_ids), enable_replacement_metrics_, metrics);
}