Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_config_retrieval_params.cc

Issue 1546143002: Switch to standard integer types in components/, part 1 of 4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_conf ig_retrieval_params.h" 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_conf ig_retrieval_params.h"
6 6
7 #include "base/metrics/field_trial.h" 7 #include "base/metrics/field_trial.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 47
48 // Retrieves the boolean stored in |variation| from the field trial group 48 // Retrieves the boolean stored in |variation| from the field trial group
49 // |group|. If the value is not present or cannot be parsed, returns 49 // |group|. If the value is not present or cannot be parsed, returns
50 // |default_value|. 50 // |default_value|.
51 bool GetVariationBoolWithDefault(const char* group, 51 bool GetVariationBoolWithDefault(const char* group,
52 const char* variation, 52 const char* variation,
53 bool default_value) { 53 bool default_value) {
54 std::string variation_value = 54 std::string variation_value =
55 variations::GetVariationParamValue(group, variation); 55 variations::GetVariationParamValue(group, variation);
56 int64 variation_numeric; 56 int64_t variation_numeric;
57 if (variation_value.empty() || 57 if (variation_value.empty() ||
58 !base::StringToInt64(variation_value, &variation_numeric)) { 58 !base::StringToInt64(variation_value, &variation_numeric)) {
59 return default_value; 59 return default_value;
60 } 60 }
61 61
62 return variation_numeric != 0; 62 return variation_numeric != 0;
63 } 63 }
64 64
65 // Retrieves the int64 stored in |variation| from the field trial group 65 // Retrieves the int64_t stored in |variation| from the field trial group
66 // |group|. If the value is not present, cannot be parsed, or is less than 66 // |group|. If the value is not present, cannot be parsed, or is less than
67 // |min_value|, returns |default_value|. 67 // |min_value|, returns |default_value|.
68 int64 GetVariationInt64WithDefault(const char* group, 68 int64_t GetVariationInt64WithDefault(const char* group,
69 const char* variation, 69 const char* variation,
70 int64 default_value, 70 int64_t default_value,
71 int64 min_value) { 71 int64_t min_value) {
72 DCHECK(default_value >= min_value); 72 DCHECK(default_value >= min_value);
73 std::string variation_value = 73 std::string variation_value =
74 variations::GetVariationParamValue(group, variation); 74 variations::GetVariationParamValue(group, variation);
75 int64 variation_numeric; 75 int64_t variation_numeric;
76 if (variation_value.empty() || 76 if (variation_value.empty() ||
77 !base::StringToInt64(variation_value, &variation_numeric) || 77 !base::StringToInt64(variation_value, &variation_numeric) ||
78 variation_numeric < min_value) { 78 variation_numeric < min_value) {
79 return default_value; 79 return default_value;
80 } 80 }
81 81
82 return variation_numeric; 82 return variation_numeric;
83 } 83 }
84 84
85 // Retrieves the double stored in |variation| from the field trial group 85 // Retrieves the double stored in |variation| from the field trial group
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 if (!group.starts_with(kEnabled)) 133 if (!group.starts_with(kEnabled))
134 return scoped_ptr<DataReductionProxyConfigRetrievalParams>(); 134 return scoped_ptr<DataReductionProxyConfigRetrievalParams>();
135 135
136 base::Time now = base::Time::Now(); 136 base::Time now = base::Time::Now();
137 base::Time config_retrieve; 137 base::Time config_retrieve;
138 bool config_always_stale = GetVariationBoolWithDefault( 138 bool config_always_stale = GetVariationBoolWithDefault(
139 kConfigFetchTrialGroup, kConfigAlwaysStaleParam, false); 139 kConfigFetchTrialGroup, kConfigAlwaysStaleParam, false);
140 if (config_always_stale) { 140 if (config_always_stale) {
141 config_retrieve = base::Time(); 141 config_retrieve = base::Time();
142 } else { 142 } else {
143 int64 config_retrieve_value = 143 int64_t config_retrieve_value =
144 pref_service->GetInt64(prefs::kSimulatedConfigRetrieveTime); 144 pref_service->GetInt64(prefs::kSimulatedConfigRetrieveTime);
145 config_retrieve = base::Time::FromInternalValue(config_retrieve_value); 145 config_retrieve = base::Time::FromInternalValue(config_retrieve_value);
146 if (config_retrieve > now) 146 if (config_retrieve > now)
147 config_retrieve = base::Time(); 147 config_retrieve = base::Time();
148 } 148 }
149 149
150 int64 config_expiration_interval_seconds = GetVariationInt64WithDefault( 150 int64_t config_expiration_interval_seconds = GetVariationInt64WithDefault(
151 kConfigFetchTrialGroup, kConfigExpirationSecondsParam, 151 kConfigFetchTrialGroup, kConfigExpirationSecondsParam,
152 kConfigFetchDefaultExpirationSeconds, 152 kConfigFetchDefaultExpirationSeconds,
153 kConfigFetchMinimumExpirationSeconds); 153 kConfigFetchMinimumExpirationSeconds);
154 base::TimeDelta config_expiration_interval = 154 base::TimeDelta config_expiration_interval =
155 base::TimeDelta::FromSeconds(config_expiration_interval_seconds); 155 base::TimeDelta::FromSeconds(config_expiration_interval_seconds);
156 base::Time config_expiration = config_retrieve + config_expiration_interval; 156 base::Time config_expiration = config_retrieve + config_expiration_interval;
157 std::vector<Variation> variations; 157 std::vector<Variation> variations;
158 bool expired_config = (now > config_expiration); 158 bool expired_config = (now > config_expiration);
159 if (expired_config) { 159 if (expired_config) {
160 config_expiration = now + config_expiration_interval; 160 config_expiration = now + config_expiration_interval;
161 161
162 int64 config_roundtrip_milliseconds = GetVariationInt64WithDefault( 162 int64_t config_roundtrip_milliseconds = GetVariationInt64WithDefault(
163 kConfigFetchTrialGroup, kConfigRoundtripMillisecondsBaseParam, 163 kConfigFetchTrialGroup, kConfigRoundtripMillisecondsBaseParam,
164 kConfigFetchDefaultRoundtripMillisecondsBase, 0); 164 kConfigFetchDefaultRoundtripMillisecondsBase, 0);
165 double config_roundtrip_multiplier = GetVariationDoubleWithDefault( 165 double config_roundtrip_multiplier = GetVariationDoubleWithDefault(
166 kConfigFetchTrialGroup, kConfigRoundtripMultiplierParam, 166 kConfigFetchTrialGroup, kConfigRoundtripMultiplierParam,
167 kConfigFetchDefaultRoundtripMultiplier, 1.0); 167 kConfigFetchDefaultRoundtripMultiplier, 1.0);
168 int64 roundtrip_milliseconds_increment = GetVariationInt64WithDefault( 168 int64_t roundtrip_milliseconds_increment = GetVariationInt64WithDefault(
169 kConfigFetchTrialGroup, kConfigRoundtripMillisecondsIncrementParam, 169 kConfigFetchTrialGroup, kConfigRoundtripMillisecondsIncrementParam,
170 kConfigFetchDefaultRoundtripMillisecondsIncrement, 0); 170 kConfigFetchDefaultRoundtripMillisecondsIncrement, 0);
171 171
172 for (int params_index = 0; params_index < kConfigFetchGroups; 172 for (int params_index = 0; params_index < kConfigFetchGroups;
173 ++params_index) { 173 ++params_index) {
174 base::Time config_retrieved = now + base::TimeDelta::FromMilliseconds( 174 base::Time config_retrieved = now + base::TimeDelta::FromMilliseconds(
175 config_roundtrip_milliseconds); 175 config_roundtrip_milliseconds);
176 variations.push_back(Variation(params_index, config_retrieved)); 176 variations.push_back(Variation(params_index, config_retrieved));
177 config_roundtrip_milliseconds *= config_roundtrip_multiplier; 177 config_roundtrip_milliseconds *= config_roundtrip_multiplier;
178 config_roundtrip_milliseconds += roundtrip_milliseconds_increment; 178 config_roundtrip_milliseconds += roundtrip_milliseconds_increment;
(...skipping 26 matching lines...) Expand all
205 request_time < simulated_config_retrieved_) { 205 request_time < simulated_config_retrieved_) {
206 return DataReductionProxyConfigRetrievalParams::RETRIEVING; 206 return DataReductionProxyConfigRetrievalParams::RETRIEVING;
207 } else if (request_time < config_expiration) { 207 } else if (request_time < config_expiration) {
208 return DataReductionProxyConfigRetrievalParams::VALID; 208 return DataReductionProxyConfigRetrievalParams::VALID;
209 } 209 }
210 210
211 return DataReductionProxyConfigRetrievalParams::EXPIRED; 211 return DataReductionProxyConfigRetrievalParams::EXPIRED;
212 } 212 }
213 213
214 void DataReductionProxyConfigRetrievalParams::Variation::RecordStats( 214 void DataReductionProxyConfigRetrievalParams::Variation::RecordStats(
215 int64 received_content_length, 215 int64_t received_content_length,
216 int64 original_content_length) const { 216 int64_t original_content_length) const {
217 lost_bytes_rcl_->Add(received_content_length); 217 lost_bytes_rcl_->Add(received_content_length);
218 lost_bytes_ocl_->Add(original_content_length); 218 lost_bytes_ocl_->Add(original_content_length);
219 int64 content_length_diff = original_content_length - received_content_length; 219 int64_t content_length_diff =
220 original_content_length - received_content_length;
220 if (content_length_diff > 0) 221 if (content_length_diff > 0)
221 lost_bytes_diff_->Add(content_length_diff); 222 lost_bytes_diff_->Add(content_length_diff);
222 } 223 }
223 224
224 DataReductionProxyConfigRetrievalParams:: 225 DataReductionProxyConfigRetrievalParams::
225 DataReductionProxyConfigRetrievalParams( 226 DataReductionProxyConfigRetrievalParams(
226 bool loaded_expired_config, 227 bool loaded_expired_config,
227 const std::vector<Variation>& variations, 228 const std::vector<Variation>& variations,
228 const base::Time& config_expiration, 229 const base::Time& config_expiration,
229 const base::TimeDelta& config_expiration_interval) 230 const base::TimeDelta& config_expiration_interval)
(...skipping 10 matching lines...) Expand all
240 base::TimeDelta::FromSeconds(kConfigFetchMinimumIntervalSeconds); 241 base::TimeDelta::FromSeconds(kConfigFetchMinimumIntervalSeconds);
241 } 242 }
242 } 243 }
243 244
244 DataReductionProxyConfigRetrievalParams:: 245 DataReductionProxyConfigRetrievalParams::
245 ~DataReductionProxyConfigRetrievalParams() { 246 ~DataReductionProxyConfigRetrievalParams() {
246 } 247 }
247 248
248 void DataReductionProxyConfigRetrievalParams::RecordStats( 249 void DataReductionProxyConfigRetrievalParams::RecordStats(
249 const base::Time& request_time, 250 const base::Time& request_time,
250 int64 received_content_length, 251 int64_t received_content_length,
251 int64 original_content_length) const { 252 int64_t original_content_length) const {
252 for (const auto& variation : variations_) { 253 for (const auto& variation : variations_) {
253 switch (variation.GetState(request_time, config_expiration_)) { 254 switch (variation.GetState(request_time, config_expiration_)) {
254 case VALID: 255 case VALID:
255 break; 256 break;
256 case RETRIEVING: 257 case RETRIEVING:
257 case EXPIRED: 258 case EXPIRED:
258 variation.RecordStats(received_content_length, original_content_length); 259 variation.RecordStats(received_content_length, original_content_length);
259 break; 260 break;
260 default: 261 default:
261 NOTREACHED(); 262 NOTREACHED();
262 } 263 }
263 } 264 }
264 } 265 }
265 266
266 void DataReductionProxyConfigRetrievalParams::RefreshConfig() { 267 void DataReductionProxyConfigRetrievalParams::RefreshConfig() {
267 config_expiration_ = base::Time::Now() + config_expiration_interval_; 268 config_expiration_ = base::Time::Now() + config_expiration_interval_;
268 } 269 }
269 270
270 } // namespace data_reduction_proxy 271 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698