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));