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

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

Issue 2339223002: Cronet API Refactoring (Closed)
Patch Set: Rebased onto Charles change + Paul's Comments Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
index 2c2df1a7f1d23f066c66f28f65a24e6277e7c477..8c0195a45e941211f10bb136e2ea23f0bd247ae7 100644
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java
@@ -19,8 +19,8 @@ import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeClassQualifiedName;
import org.chromium.base.annotations.UsedByReflection;
import org.chromium.net.BidirectionalStream;
-import org.chromium.net.CronetEngine;
import org.chromium.net.EffectiveConnectionType;
+import org.chromium.net.ExperimentalBidirectionalStream;
import org.chromium.net.NetworkQualityRttListener;
import org.chromium.net.NetworkQualityThroughputListener;
import org.chromium.net.RequestFinishedInfo;
@@ -48,7 +48,7 @@ import javax.annotation.concurrent.GuardedBy;
@JNINamespace("cronet")
@UsedByReflection("CronetEngine.java")
@VisibleForTesting
-public class CronetUrlRequestContext extends CronetEngine {
+public class CronetUrlRequestContext extends CronetEngineBase {
private static final int LOG_NONE = 3; // LOG(FATAL), no VLOG.
private static final int LOG_DEBUG = -1; // LOG(FATAL...INFO), VLOG(1)
private static final int LOG_VERBOSE = -2; // LOG(FATAL...INFO), VLOG(2)
@@ -129,7 +129,7 @@ public class CronetUrlRequestContext extends CronetEngine {
private boolean mNetLogToDisk;
@UsedByReflection("CronetEngine.java")
- public CronetUrlRequestContext(final CronetEngine.Builder builder) {
+ public CronetUrlRequestContext(final CronetEngineBuilderImpl builder) {
CronetLibraryLoader.ensureInitialized(builder.getContext(), builder);
nativeSetMinLogLevel(getLoggingLevel());
synchronized (mLock) {
@@ -164,7 +164,7 @@ public class CronetUrlRequestContext extends CronetEngine {
@VisibleForTesting
public static long createNativeUrlRequestContextConfig(
- final Context context, CronetEngine.Builder builder) {
+ final Context context, CronetEngineBuilderImpl builder) {
final long urlRequestContextConfig = nativeCreateRequestContextConfig(
builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(),
builder.getDefaultQuicUserAgentId(context), builder.http2Enabled(),
@@ -175,11 +175,11 @@ public class CronetUrlRequestContext extends CronetEngine {
builder.mockCertVerifier(), builder.networkQualityEstimatorEnabled(),
builder.publicKeyPinningBypassForLocalTrustAnchorsEnabled(),
builder.certVerifierData());
- for (Builder.QuicHint quicHint : builder.quicHints()) {
+ for (CronetEngineBuilderImpl.QuicHint quicHint : builder.quicHints()) {
nativeAddQuicHint(urlRequestContextConfig, quicHint.mHost, quicHint.mPort,
quicHint.mAlternatePort);
}
- for (Builder.Pkp pkp : builder.publicKeyPins()) {
+ for (CronetEngineBuilderImpl.Pkp pkp : builder.publicKeyPins()) {
nativeAddPkp(urlRequestContextConfig, pkp.mHost, pkp.mHashes, pkp.mIncludeSubdomains,
pkp.mExpirationDate.getTime());
}
@@ -187,7 +187,13 @@ public class CronetUrlRequestContext extends CronetEngine {
}
@Override
- public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor,
+ public ExperimentalBidirectionalStream.Builder newBidirectionalStreamBuilder(
+ String url, BidirectionalStream.Callback callback, Executor executor) {
+ return new BidirectionalStreamBuilderImpl(url, callback, executor, this);
+ }
+
+ @Override
+ public UrlRequestBase createRequest(String url, UrlRequest.Callback callback, Executor executor,
int priority, Collection<Object> requestAnnotations, boolean disableCache,
boolean disableConnectionMigration, boolean allowDirectExecutor) {
synchronized (mLock) {
@@ -202,11 +208,30 @@ public class CronetUrlRequestContext extends CronetEngine {
}
}
+ /**
+ * Creates a {@link BidirectionalStream} object. {@code callback} methods will
+ * be invoked on {@code executor}. {@code executor} must not run
+ * tasks on the current thread to prevent blocking networking operations
+ * and causing exceptions during shutdown.
+ *
+ * @param url the URL for the stream
+ * @param callback the object whose methods get invoked upon different events
+ * @param executor the {@link Executor} on which all callbacks will be called
+ * @param httpMethod the HTTP method to use for the stream
+ * @param requestHeaders the list of request headers
+ * @param priority priority of the stream which should be one of the
+ * {@link BidirectionalStream.Builder#STREAM_PRIORITY_IDLE STREAM_PRIORITY_*}
+ * values.
+ * @param delayRequestHeadersUntilFirstFlush whether to delay sending request
+ * headers until flush() is called, and try to combine them
+ * with the next data frame.
+ * @return a new stream.
+ */
pauljensen 2016/09/26 14:51:22 Remove comment on @Override method
kapishnikov 2016/09/27 18:38:26 Done.
@Override
public BidirectionalStream createBidirectionalStream(String url,
BidirectionalStream.Callback callback, Executor executor, String httpMethod,
List<Map.Entry<String, String>> requestHeaders,
- @BidirectionalStream.Builder.StreamPriority int priority,
+ @BidirectionalStreamBuilderImpl.StreamPriority int priority,
boolean delayRequestHeadersUntilFirstFlush, Collection<Object> requestAnnotations) {
synchronized (mLock) {
checkHaveAdapter();

Powered by Google App Engine
This is Rietveld 408576698