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

Unified Diff: components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java

Issue 2470903002: Add default implementation of experimental methods (Closed)
Patch Set: Addressed Paul's comments Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java
diff --git a/components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java b/components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java
index 8c17262f6c38005aca4737304b0ddb56a452ebc4..921755d36c359d2f237169dde866d20f6866f7ef 100644
--- a/components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java
+++ b/components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java
@@ -23,6 +23,53 @@ import java.util.concurrent.Executor;
*/
public abstract class ExperimentalCronetEngine extends CronetEngine {
/**
+ * The value of a connection metric is unknown.
+ */
+ public static final int CONNECTION_METRIC_UNKNOWN = -1;
+
+ /**
+ * The estimate of the effective connection type is unknown.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_UNKNOWN = 0;
+
+ /**
+ * The device is offline.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_OFFLINE = 1;
+
+ /**
+ * The estimate of the effective connection type is slow 2G.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_SLOW_2G = 2;
+
+ /**
+ * The estimate of the effective connection type is 2G.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_2G = 3;
+
+ /**
+ * The estimate of the effective connection type is 3G.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_3G = 4;
+
+ /**
+ * The estimate of the effective connection type is 4G.
+ *
+ * @see #getEffectiveConnectionType
+ */
+ public static final int EFFECTIVE_CONNECTION_TYPE_4G = 5;
+
+ /**
* Builder for building {@link ExperimentalCronetEngine}.
*/
public static class Builder extends CronetEngine.Builder {
@@ -235,13 +282,19 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* @param maxSize the maximum total disk space in bytes that should be used by NetLog. Actual
* disk space usage may exceed this limit slightly.
*/
- public abstract void startNetLogToDisk(String dirPath, boolean logAll, int maxSize);
+ public void startNetLogToDisk(String dirPath, boolean logAll, int maxSize) {}
/**
- * Returns the effective connection type computed by the network quality
- * estimator.
+ * Returns an estimate of the effective connection type computed by the network quality
+ * estimator. Call {@link Builder#enableNetworkQualityEstimator} to begin computing this
+ * value.
+ *
+ * @return the estimated connection type. The returned value is one of
+ * {@link #EFFECTIVE_CONNECTION_TYPE_UNKNOWN EFFECTIVE_CONNECTION_TYPE_* }.
*/
- public abstract int getEffectiveConnectionType();
+ public int getEffectiveConnectionType() {
+ return EFFECTIVE_CONNECTION_TYPE_UNKNOWN;
+ }
/**
* Configures the network quality estimator for testing. This must be called
@@ -251,8 +304,8 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* @param useSmallerResponses include small responses in throughput
* estimates.
*/
- public abstract void configureNetworkQualityEstimatorForTesting(
- boolean useLocalHostRequests, boolean useSmallerResponses);
+ public void configureNetworkQualityEstimatorForTesting(
+ boolean useLocalHostRequests, boolean useSmallerResponses) {}
/**
* Registers a listener that gets called whenever the network quality
@@ -264,7 +317,7 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* is passed to {@link Builder#enableNetworkQualityEstimator}.
* @param listener the listener of round trip times.
*/
- public abstract void addRttListener(NetworkQualityRttListener listener);
+ public void addRttListener(NetworkQualityRttListener listener) {}
/**
* Removes a listener of round trip times if previously registered with
@@ -273,7 +326,7 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* observations.
* @param listener the listener of round trip times.
*/
- public abstract void removeRttListener(NetworkQualityRttListener listener);
+ public void removeRttListener(NetworkQualityRttListener listener) {}
/**
* Registers a listener that gets called whenever the network quality
@@ -285,7 +338,7 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* {@link Builder#enableNetworkQualityEstimator}.
* @param listener the listener of throughput.
*/
- public abstract void addThroughputListener(NetworkQualityThroughputListener listener);
+ public void addThroughputListener(NetworkQualityThroughputListener listener) {}
/**
* Removes a listener of throughput. This should be called after a
@@ -293,7 +346,7 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* {@link #addThroughputListener} in order to stop receiving observations.
* @param listener the listener of throughput.
*/
- public abstract void removeThroughputListener(NetworkQualityThroughputListener listener);
+ public void removeThroughputListener(NetworkQualityThroughputListener listener) {}
/**
* Establishes a new connection to the resource specified by the {@link URL} {@code url}
@@ -308,7 +361,9 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* @throws IOException if an error occurs while opening the connection.
*/
// TODO(pauljensen): Expose once implemented, http://crbug.com/418111
- public abstract URLConnection openConnection(URL url, Proxy proxy) throws IOException;
+ public URLConnection openConnection(URL url, Proxy proxy) throws IOException {
+ return url.openConnection(proxy);
+ }
/**
* Registers a listener that gets called after the end of each request with the request info.
@@ -318,14 +373,14 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
*
* @param listener the listener for finished requests.
*/
- public abstract void addRequestFinishedListener(RequestFinishedInfo.Listener listener);
+ public void addRequestFinishedListener(RequestFinishedInfo.Listener listener) {}
/**
* Removes a finished request listener.
*
* @param listener the listener to remove.
*/
- public abstract void removeRequestFinishedListener(RequestFinishedInfo.Listener listener);
+ public void removeRequestFinishedListener(RequestFinishedInfo.Listener listener) {}
/**
* Returns serialized representation of certificate verifier's cache
@@ -338,38 +393,44 @@ public abstract class ExperimentalCronetEngine extends CronetEngine {
* @return serialized representation of certificate verification results
* data.
*/
- public abstract String getCertVerifierData(long timeout);
+ public String getCertVerifierData(long timeout) {
+ return "";
+ }
/**
* Returns the HTTP RTT estimate (in milliseconds) computed by the network
- * quality estimator. Set to
- * {@link RttThroughputValues.INVALID_RTT_THROUGHPUT} if a valid value
+ * quality estimator. Set to {@link #CONNECTION_METRIC_UNKNOWN} if the value
* is unavailable. This must be called after
* {@link Builder#enableNetworkQualityEstimator}, and will throw an
* exception otherwise.
* @return Estimate of the HTTP RTT in milliseconds.
*/
- public abstract int getHttpRttMs();
+ public int getHttpRttMs() {
+ return CONNECTION_METRIC_UNKNOWN;
+ }
/**
* Returns the transport RTT estimate (in milliseconds) computed by the
- * network quality estimator. Set to
- * {@link RttThroughputValues.INVALID_RTT_THROUGHPUT} if a valid value is
- * unavailable. This must be called after
+ * network quality estimator. Set to {@link #CONNECTION_METRIC_UNKNOWN} if
+ * the value is unavailable. This must be called after
* {@link Builder#enableNetworkQualityEstimator}, and will throw an
* exception otherwise.
* @return Estimate of the transport RTT in milliseconds.
*/
- public abstract int getTransportRttMs();
+ public int getTransportRttMs() {
+ return CONNECTION_METRIC_UNKNOWN;
+ }
/**
* Returns the downstream throughput estimate (in kilobits per second)
* computed by the network quality estimator. Set to
- * {@link RttThroughputValues.INVALID_RTT_THROUGHPUT} if a valid value is
- * unavailable. This must be called after
+ * {@link #CONNECTION_METRIC_UNKNOWN} if the value is
+ * unavailable. This must be called after
* {@link Builder#enableNetworkQualityEstimator}, and will
* throw an exception otherwise.
* @return Estimate of the downstream throughput in kilobits per second.
*/
- public abstract int getDownstreamThroughputKbps();
+ public int getDownstreamThroughputKbps() {
+ return CONNECTION_METRIC_UNKNOWN;
+ }
}

Powered by Google App Engine
This is Rietveld 408576698