Index: components/cronet/android/java/src/org/chromium/net/UrlRequestContext.java |
diff --git a/components/cronet/android/java/src/org/chromium/net/UrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/UrlRequestContext.java |
index 3ed4106847cd8b989a84a32d38267655d98f8c2b..30ff0805fe91b2316791d5bac7259ee45cf7bd57 100644 |
--- a/components/cronet/android/java/src/org/chromium/net/UrlRequestContext.java |
+++ b/components/cronet/android/java/src/org/chromium/net/UrlRequestContext.java |
@@ -94,6 +94,82 @@ public abstract class UrlRequestContext { |
public abstract void stopNetLog(); |
/** |
+ * Enables the network quality estimator, which collects and reports |
+ * measurements of round trip time (RTT) and downstream throughput at |
+ * various layers of the network stack. After enabling the estimator, |
+ * listeners of RTT and throughput can be added with |
+ * {@link #addRttListener} and {@link #addThroughputListener} and |
+ * removed with {@link #removeRttListener} and |
+ * {@link #removeThroughputListener}. The estimator uses memory and CPU |
+ * only when enabled. |
+ * @param executor an executor that will be used to notified all |
+ * added RTT and throughput listeners. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated public abstract void enableNetworkQualityEstimator(Executor executor); |
+ |
+ /** |
+ * Enables the network quality estimator for testing. This must be called |
+ * before round trip time and throughput listeners are added. Set both |
+ * boolean parameters to false for default behavior. |
+ * @param useLocalHostRequests include requests to localhost in estimates. |
+ * @param useSmallerResponses include small responses in throughput estimates. |
+ * @param executor an {@link java.util.concurrent.Executor} on which all |
+ * listeners will be called. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated |
+ abstract void enableNetworkQualityEstimatorForTesting( |
+ boolean useLocalHostRequests, boolean useSmallerResponses, Executor executor); |
+ |
+ /** |
+ * Registers a listener that gets called whenever the network quality |
+ * estimator witnesses a sample round trip time. This must be called |
+ * after {@link #enableNetworkQualityEstimator}, and with throw an |
+ * exception otherwise. Round trip times may be recorded at various layers |
+ * of the network stack, including TCP, QUIC, and at the URL request layer. |
+ * The listener is called on the {@link java.util.concurrent.Executor} that |
+ * is passed to {@link #enableNetworkQualityEstimator}. |
+ * @param listener the listener of round trip times. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated public abstract void addRttListener(NetworkQualityRttListener listener); |
+ |
+ /** |
+ * Removes a listener of round trip times if previously registered with |
+ * {@link #addRttListener}. This should be called after a |
+ * {@link NetworkQualityRttListener} is added in order to stop receiving |
+ * observations. |
+ * @param listener the listener of round trip times. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated public abstract void removeRttListener(NetworkQualityRttListener listener); |
+ |
+ /** |
+ * Registers a listener that gets called whenever the network quality |
+ * estimator witnesses a sample throughput measurement. This must be called |
+ * after {@link #enableNetworkQualityEstimator}. Throughput observations |
+ * are computed by measuring bytes read over the active network interface |
+ * at times when at least one URL response is being received. The listener |
+ * is called on the {@link java.util.concurrent.Executor} that is passed to |
+ * {@link #enableNetworkQualityEstimator}. |
+ * @param listener the listener of throughput. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated |
+ public abstract void addThroughputListener(NetworkQualityThroughputListener listener); |
+ |
+ /** |
+ * Removes a listener of throughput. This should be called after a |
+ * {@link NetworkQualityThroughputListener} is added with |
+ * {@link #addThroughputListener} in order to stop receiving observations. |
+ * @param listener the listener of throughput. |
+ * @deprecated not really deprecated but hidden for now as it's a prototype. |
+ */ |
+ @Deprecated |
+ public abstract void removeThroughputListener(NetworkQualityThroughputListener listener); |
+ |
+ /** |
* Creates a {@link UrlRequestContext} with the given |
* {@link UrlRequestContextConfig}. |
* @param context Android {@link Context}. |