buffet: Covert intervals into base::TimeDelta as soon as possible It's good to have all data strictly typed and do not rely on _ms suffix. BUG=none TEST=`FEATURES=test emerge-gizmo buffet` Change-Id: Ifa16d2f1a641b293e9deec109ac9a0c8d363d065 Reviewed-on: https://chromium-review.googlesource.com/281064 Trybot-Ready: Vitaly Buka <vitalybuka@chromium.org> Tested-by: Vitaly Buka <vitalybuka@chromium.org> Reviewed-by: Vitaly Buka <vitalybuka@chromium.org> Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet_config.cc b/buffet/buffet_config.cc index c89bb2d..72f8338 100644 --- a/buffet/buffet_config.cc +++ b/buffet/buffet_config.cc
@@ -50,6 +50,14 @@ return role == "none" || role == "viewer" || role == "user"; } +bool StringToTimeDelta(const std::string& value, base::TimeDelta* delta) { + uint64_t ms{0}; + if (!base::StringToUint64(value, &ms)) + return false; + *delta = base::TimeDelta::FromMilliseconds(ms); + return true; +} + } // namespace namespace buffet { @@ -130,10 +138,10 @@ std::string polling_period_str; if (store.GetString(config_keys::kPollingPeriodMs, &polling_period_str)) - CHECK(base::StringToUint64(polling_period_str, &polling_period_ms_)); + CHECK(StringToTimeDelta(polling_period_str, &polling_period_)); if (store.GetString(config_keys::kBackupPollingPeriodMs, &polling_period_str)) - CHECK(base::StringToUint64(polling_period_str, &backup_polling_period_ms_)); + CHECK(StringToTimeDelta(polling_period_str, &backup_polling_period_)); store.GetBoolean(config_keys::kWifiAutoSetupEnabled, &wifi_auto_setup_enabled_);
diff --git a/buffet/buffet_config.h b/buffet/buffet_config.h index ac04d28..a2b25d9 100644 --- a/buffet/buffet_config.h +++ b/buffet/buffet_config.h
@@ -102,9 +102,9 @@ const std::string& model_name() const { return model_name_; } const std::string& model_id() const { return model_id_; } const std::string& device_kind() const { return device_kind_; } - uint64_t polling_period_ms() const { return polling_period_ms_; } - uint64_t backup_polling_period_ms() const { - return backup_polling_period_ms_; + base::TimeDelta polling_period() const { return polling_period_; } + base::TimeDelta backup_polling_period() const { + return backup_polling_period_; } bool wifi_auto_setup_enabled() const { return wifi_auto_setup_enabled_; } @@ -149,8 +149,8 @@ std::string model_name_{"Brillo"}; std::string model_id_{"AAAAA"}; std::string device_kind_{"vendor"}; - uint64_t polling_period_ms_{7000}; // 7 seconds. - uint64_t backup_polling_period_ms_{30 * 60 * 1000}; // 30 minutes. + base::TimeDelta polling_period_{base::TimeDelta::FromSeconds(7)}; + base::TimeDelta backup_polling_period_{base::TimeDelta::FromMinutes(30)}; bool wifi_auto_setup_enabled_{true}; std::set<privetd::PairingType> pairing_modes_{privetd::PairingType::kPinCode};
diff --git a/buffet/buffet_config_unittest.cc b/buffet/buffet_config_unittest.cc index f2c7063..7fa1933 100644 --- a/buffet/buffet_config_unittest.cc +++ b/buffet/buffet_config_unittest.cc
@@ -55,8 +55,8 @@ EXPECT_EQ("Brillo", config_->model_name()); EXPECT_EQ("AAAAA", config_->model_id()); EXPECT_EQ("vendor", config_->device_kind()); - EXPECT_EQ(7000, config_->polling_period_ms()); - EXPECT_EQ(1800000, config_->backup_polling_period_ms()); + EXPECT_EQ(base::TimeDelta::FromSeconds(7), config_->polling_period()); + EXPECT_EQ(base::TimeDelta::FromMinutes(30), config_->backup_polling_period()); EXPECT_TRUE(config_->wifi_auto_setup_enabled()); EXPECT_EQ(std::set<privetd::PairingType>{privetd::PairingType::kPinCode}, config_->pairing_modes()); @@ -115,8 +115,10 @@ EXPECT_EQ("conf_model_name", config_->model_name()); EXPECT_EQ("ABCDE", config_->model_id()); EXPECT_EQ("developmentBoard", config_->device_kind()); - EXPECT_EQ(12345, config_->polling_period_ms()); - EXPECT_EQ(6589, config_->backup_polling_period_ms()); + EXPECT_EQ(base::TimeDelta::FromMilliseconds(12345), + config_->polling_period()); + EXPECT_EQ(base::TimeDelta::FromMilliseconds(6589), + config_->backup_polling_period()); EXPECT_FALSE(config_->wifi_auto_setup_enabled()); std::set<privetd::PairingType> pairing_types{ privetd::PairingType::kPinCode, privetd::PairingType::kEmbeddedCode, @@ -199,9 +201,8 @@ EXPECT_EQ(default_.model_name(), config_->model_name()); EXPECT_EQ(default_.model_id(), config_->model_id()); EXPECT_EQ(default_.device_kind(), config_->device_kind()); - EXPECT_EQ(default_.polling_period_ms(), config_->polling_period_ms()); - EXPECT_EQ(default_.backup_polling_period_ms(), - config_->backup_polling_period_ms()); + EXPECT_EQ(default_.polling_period(), config_->polling_period()); + EXPECT_EQ(default_.backup_polling_period(), config_->backup_polling_period()); EXPECT_EQ(default_.wifi_auto_setup_enabled(), config_->wifi_auto_setup_enabled()); EXPECT_EQ(default_.pairing_modes(), config_->pairing_modes());
diff --git a/buffet/device_registration_info.cc b/buffet/device_registration_info.cc index 2d9fb80..5b9e5ee 100644 --- a/buffet/device_registration_info.cc +++ b/buffet/device_registration_info.cc
@@ -331,8 +331,7 @@ // call back to OnConnected() and at that time we'll switch to use the // primary channel and switch periodic poll into much more infrequent backup // poll mode. - const base::TimeDelta pull_interval = - base::TimeDelta::FromMilliseconds(config_->polling_period_ms()); + const base::TimeDelta pull_interval = config_->polling_period(); if (!pull_channel_) { pull_channel_.reset(new PullChannel{pull_interval, task_runner}); pull_channel_->Start(this); @@ -976,8 +975,7 @@ << channel_name; CHECK_EQ(primary_notification_channel_->GetName(), channel_name); notification_channel_starting_ = false; - pull_channel_->UpdatePullInterval( - base::TimeDelta::FromMilliseconds(config_->backup_polling_period_ms())); + pull_channel_->UpdatePullInterval(config_->backup_polling_period()); current_notification_channel_ = primary_notification_channel_.get(); UpdateDeviceResource(base::Bind(&base::DoNothing), base::Bind(&IgnoreCloudError)); @@ -985,8 +983,7 @@ void DeviceRegistrationInfo::OnDisconnected() { LOG(INFO) << "Notification channel disconnected"; - pull_channel_->UpdatePullInterval( - base::TimeDelta::FromMilliseconds(config_->polling_period_ms())); + pull_channel_->UpdatePullInterval(config_->polling_period()); current_notification_channel_ = pull_channel_.get(); UpdateDeviceResource(base::Bind(&base::DoNothing), base::Bind(&IgnoreCloudError));