summaryrefslogtreecommitdiff
path: root/payload_state.cc
diff options
context:
space:
mode:
authorGilad Arnold <garnold@chromium.org>2014-10-02 10:34:54 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-10-18 01:39:10 +0000
commit519cfc71f0a2f7f01adb51acd19b5cd23d2c93a2 (patch)
tree32b424d8c72226e13650ef16197614c19545b46e /payload_state.cc
parentd78caf9baf2026a356130f4754af2c504f423945 (diff)
update_engine: Move scattering wait period store/load to PayloadState.
This is needed for decoupling the inference/use of this value from its storing/loading, as we shift the former into the Update Manager. BUG=chromium:384087 TEST=Unit tests. Change-Id: I4b278dc817b6f148d5638122f934e9d1e280bfae Reviewed-on: https://chromium-review.googlesource.com/221250 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
Diffstat (limited to 'payload_state.cc')
-rw-r--r--payload_state.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/payload_state.cc b/payload_state.cc
index b58f9a89..fcd4dab0 100644
--- a/payload_state.cc
+++ b/payload_state.cc
@@ -906,6 +906,7 @@ void PayloadState::ResetPersistedState() {
ResetRollbackVersion();
SetP2PNumAttempts(0);
SetP2PFirstAttemptTimestamp(Time()); // Set to null time
+ SetScatteringWaitPeriod(base::TimeDelta());
}
void PayloadState::ResetRollbackVersion() {
@@ -1025,6 +1026,24 @@ void PayloadState::SetUrlIndex(uint32_t url_index) {
UpdateCurrentDownloadSource();
}
+void PayloadState::LoadScatteringWaitPeriod() {
+ SetScatteringWaitPeriod(
+ TimeDelta::FromSeconds(GetPersistedValue(kPrefsWallClockWaitPeriod)));
+}
+
+void PayloadState::SetScatteringWaitPeriod(base::TimeDelta wait_period) {
+ CHECK(prefs_);
+ scattering_wait_period_ = wait_period;
+ LOG(INFO) << "Scattering Wait Period (seconds) = "
+ << scattering_wait_period_.InSeconds();
+ if (scattering_wait_period_.InSeconds() > 0) {
+ prefs_->SetInt64(kPrefsWallClockWaitPeriod,
+ scattering_wait_period_.InSeconds());
+ } else {
+ prefs_->Delete(kPrefsWallClockWaitPeriod);
+ }
+}
+
void PayloadState::LoadUrlSwitchCount() {
SetUrlSwitchCount(GetPersistedValue(kPrefsUrlSwitchCount));
}