Index: components/cronet/android/api/src/org/chromium/net/ExperimentalBidirectionalStream.java |
diff --git a/components/cronet/android/api/src/org/chromium/net/ExperimentalBidirectionalStream.java b/components/cronet/android/api/src/org/chromium/net/ExperimentalBidirectionalStream.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ef2b2d9a78571cbdc76f0d0ae805ed0104729887 |
--- /dev/null |
+++ b/components/cronet/android/api/src/org/chromium/net/ExperimentalBidirectionalStream.java |
@@ -0,0 +1,49 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.net; |
+ |
+/** |
+ * {@link BidirectionalStream} that exposes experimental features. |
+ * Created using {@link ExperimentalBidirectionalStream.Builder}. |
pauljensen
2016/09/30 13:19:25
should we add "Every instance of {@link Bidirectio
kapishnikov
2016/09/30 16:01:43
Done.
|
+ * |
+ * {@hide} as it's a prototype |
+ */ |
+public abstract class ExperimentalBidirectionalStream extends BidirectionalStream { |
+ /** |
+ * Builder for {@link ExperimentalBidirectionalStream}s. Allows configuring stream before |
+ * constructing it via {@link Builder#build}. |
+ */ |
+ public abstract static class Builder extends BidirectionalStream.Builder { |
+ /** |
+ * Associates the annotation object with this request. May add more than one. |
+ * Passed through to a {@link RequestFinishedInfo.Listener}, |
+ * see {@link RequestFinishedInfo#getAnnotations}. |
+ * |
+ * @param annotation an object to pass on to the {@link RequestFinishedInfo.Listener} with a |
+ * {@link RequestFinishedInfo}. |
+ * @return the builder to facilitate chaining. |
+ */ |
+ public abstract Builder addRequestAnnotation(Object annotation); |
+ |
+ // To support method chaining, override superclass methods to return an |
+ // instance of this class instead of the parent. |
+ |
+ @Override |
+ public abstract Builder setHttpMethod(String method); |
pauljensen
2016/09/30 13:19:25
how come there are abstract but ExperimentalCronet
kapishnikov
2016/09/30 16:01:43
ExperimentalCronetEngine.Builder is a concrete cla
|
+ |
+ @Override |
+ public abstract Builder addHeader(String header, String value); |
+ |
+ @Override |
+ public abstract Builder setPriority(int priority); |
+ |
+ @Override |
+ public abstract Builder delayRequestHeadersUntilFirstFlush( |
+ boolean delayRequestHeadersUntilFirstFlush); |
+ |
+ @Override |
+ public abstract ExperimentalBidirectionalStream build(); |
+ } |
+} |