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

Side by Side Diff: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java

Issue 2351793003: Implement timing metrics for UrlRequest (Closed)
Patch Set: Small cleanups Created 4 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 package org.chromium.net.impl; 5 package org.chromium.net.impl;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.os.Build; 8 import android.os.Build;
9 import android.os.ConditionVariable; 9 import android.os.ConditionVariable;
10 import android.os.Handler; 10 import android.os.Handler;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 private boolean mNetworkQualityEstimatorEnabled; 75 private boolean mNetworkQualityEstimatorEnabled;
76 76
77 /** 77 /**
78 * Locks operations on network quality listeners, because listener 78 * Locks operations on network quality listeners, because listener
79 * addition and removal may occur on a different thread from notification. 79 * addition and removal may occur on a different thread from notification.
80 */ 80 */
81 private final Object mNetworkQualityLock = new Object(); 81 private final Object mNetworkQualityLock = new Object();
82 82
83 /** 83 /**
84 * Locks operations on the list of RequestFinishedInfo.Listeners, because op erations can happen 84 * Locks operations on the list of RequestFinishedInfo.Listeners, because op erations can happen
85 * on any thread. 85 * on any thread. This should be used for fine-grained locking only. In part icular, don't call
86 * any UrlRequest methods that acquire mUrlRequestAdapterLock while holding this lock.
86 */ 87 */
87 private final Object mFinishedListenerLock = new Object(); 88 private final Object mFinishedListenerLock = new Object();
88 89
89 /** 90 /**
90 * Current effective connection type as computed by the network quality 91 * Current effective connection type as computed by the network quality
91 * estimator. 92 * estimator.
92 */ 93 */
93 @GuardedBy("mNetworkQualityLock") 94 @GuardedBy("mNetworkQualityLock")
94 private int mEffectiveConnectionType = EffectiveConnectionType.TYPE_UNKNOWN; 95 private int mEffectiveConnectionType = EffectiveConnectionType.TYPE_UNKNOWN;
95 96
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 } 424 }
424 } 425 }
425 426
426 @Override 427 @Override
427 public void removeRequestFinishedListener(RequestFinishedInfo.Listener liste ner) { 428 public void removeRequestFinishedListener(RequestFinishedInfo.Listener liste ner) {
428 synchronized (mFinishedListenerLock) { 429 synchronized (mFinishedListenerLock) {
429 mFinishedListenerList.remove(listener); 430 mFinishedListenerList.remove(listener);
430 } 431 }
431 } 432 }
432 433
434 boolean hasRequestFinishedListener() {
435 synchronized (mFinishedListenerLock) {
436 return !mFinishedListenerList.isEmpty();
437 }
438 }
439
433 @Override 440 @Override
434 public URLConnection openConnection(URL url) { 441 public URLConnection openConnection(URL url) {
435 return openConnection(url, Proxy.NO_PROXY); 442 return openConnection(url, Proxy.NO_PROXY);
436 } 443 }
437 444
438 @Override 445 @Override
439 public URLConnection openConnection(URL url, Proxy proxy) { 446 public URLConnection openConnection(URL url, Proxy proxy) {
440 if (proxy.type() != Proxy.Type.DIRECT) { 447 if (proxy.type() != Proxy.Type.DIRECT) {
441 throw new UnsupportedOperationException(); 448 throw new UnsupportedOperationException();
442 } 449 }
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 @NativeClassQualifiedName("CronetURLRequestContextAdapter") 643 @NativeClassQualifiedName("CronetURLRequestContextAdapter")
637 private native void nativeProvideRTTObservations(long nativePtr, boolean sho uld); 644 private native void nativeProvideRTTObservations(long nativePtr, boolean sho uld);
638 645
639 @NativeClassQualifiedName("CronetURLRequestContextAdapter") 646 @NativeClassQualifiedName("CronetURLRequestContextAdapter")
640 private native void nativeProvideThroughputObservations(long nativePtr, bool ean should); 647 private native void nativeProvideThroughputObservations(long nativePtr, bool ean should);
641 648
642 public boolean isNetworkThread(Thread thread) { 649 public boolean isNetworkThread(Thread thread) {
643 return thread == mNetworkThread; 650 return thread == mNetworkThread;
644 } 651 }
645 } 652 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698