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