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

Side by Side Diff: google_apis/gcm/engine/connection_factory_impl.cc

Issue 2628733004: Update ConnectionEventTracker to check if there is an in progress attempt. (Closed)
Patch Set: Rebase and fix nits Created 3 years, 11 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "google_apis/gcm/engine/connection_factory_impl.h" 5 #include "google_apis/gcm/engine/connection_factory_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 if (!last_login_time_.is_null()) { 202 if (!last_login_time_.is_null()) {
203 UMA_HISTOGRAM_CUSTOM_TIMES("GCM.ConnectionUpTime", 203 UMA_HISTOGRAM_CUSTOM_TIMES("GCM.ConnectionUpTime",
204 NowTicks() - last_login_time_, 204 NowTicks() - last_login_time_,
205 base::TimeDelta::FromSeconds(1), 205 base::TimeDelta::FromSeconds(1),
206 base::TimeDelta::FromHours(24), 206 base::TimeDelta::FromHours(24),
207 50); 207 50);
208 // |last_login_time_| will be reset below, before attempting the new 208 // |last_login_time_| will be reset below, before attempting the new
209 // connection. 209 // connection.
210 } 210 }
211 211
212 if (reason == LOGIN_FAILURE) 212 // SignalConnectionReset can be called at any time without regard to whether
213 event_tracker_.ConnectionLoginFailed(); 213 // a connection attempt is currently in progress. Only notify the event
214 event_tracker_.EndConnectionAttempt(); 214 // tracker if there is an event in progress.
215 if (event_tracker_.IsEventInProgress()) {
216 if (reason == LOGIN_FAILURE)
217 event_tracker_.ConnectionLoginFailed();
218 event_tracker_.EndConnectionAttempt();
219 }
215 220
216 CloseSocket(); 221 CloseSocket();
217 DCHECK(!IsEndpointReachable()); 222 DCHECK(!IsEndpointReachable());
218 223
219 // TODO(zea): if the network is offline, don't attempt to connect. 224 // TODO(zea): if the network is offline, don't attempt to connect.
220 // See crbug.com/396687 225 // See crbug.com/396687
221 226
222 // Network changes get special treatment as they can trigger a one-off canary 227 // Network changes get special treatment as they can trigger a one-off canary
223 // request that bypasses backoff (but does nothing if a connection is in 228 // request that bypasses backoff (but does nothing if a connection is in
224 // progress). Other connection reset events can be ignored as a connection 229 // progress). Other connection reset events can be ignored as a connection
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 return; 600 return;
596 601
597 gcm_network_session_->http_auth_cache()->UpdateAllFrom( 602 gcm_network_session_->http_auth_cache()->UpdateAllFrom(
598 *http_network_session_->http_auth_cache()); 603 *http_network_session_->http_auth_cache());
599 604
600 if (!http_network_session_->IsQuicEnabled()) 605 if (!http_network_session_->IsQuicEnabled())
601 gcm_network_session_->DisableQuic(); 606 gcm_network_session_->DisableQuic();
602 } 607 }
603 608
604 } // namespace gcm 609 } // namespace gcm
OLDNEW
« no previous file with comments | « google_apis/gcm/engine/connection_event_tracker.cc ('k') | google_apis/gcm/engine/connection_factory_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698