summaryrefslogtreecommitdiff
path: root/payload_state.cc
diff options
context:
space:
mode:
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));
}