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

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

Issue 1412243012: Initial implementation of CronetBidirectionalStream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Helen's comments. Created 4 years, 11 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; 5 package org.chromium.net;
6 6
7 import android.os.Build; 7 import android.os.Build;
8 import android.os.ConditionVariable; 8 import android.os.ConditionVariable;
9 import android.os.Handler; 9 import android.os.Handler;
10 import android.os.Looper; 10 import android.os.Looper;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 142
143 @Override 143 @Override
144 public UrlRequest createRequest(String url, UrlRequest.Callback callback, Ex ecutor executor, 144 public UrlRequest createRequest(String url, UrlRequest.Callback callback, Ex ecutor executor,
145 int priority, Collection<Object> requestAnnotations) { 145 int priority, Collection<Object> requestAnnotations) {
146 synchronized (mLock) { 146 synchronized (mLock) {
147 checkHaveAdapter(); 147 checkHaveAdapter();
148 boolean metricsCollectionEnabled = mNetworkQualityEstimatorEnabled; 148 boolean metricsCollectionEnabled = mNetworkQualityEstimatorEnabled;
149 if (metricsCollectionEnabled) { // Collect metrics only if someone i s listening. 149 if (metricsCollectionEnabled) { // Collect metrics only if someone i s listening.
150 synchronized (mNetworkQualityLock) { 150 synchronized (mNetworkQualityLock) {
151 metricsCollectionEnabled = !mFinishedListenerList.isEmpty(); 151 metricsCollectionEnabled = !mFinishedListenerList.isEmpty();
152 } 152 }
pauljensen 2016/01/04 19:56:00 I imagine there will be demand for metrics collect
mef 2016/01/04 22:27:08 Yes, but not in this CL.
153 } 153 }
154 return new CronetUrlRequest(this, mUrlRequestContextAdapter, url, pr iority, callback, 154 return new CronetUrlRequest(this, mUrlRequestContextAdapter, url, pr iority, callback,
155 executor, requestAnnotations, metricsCollectionEnabled); 155 executor, requestAnnotations, metricsCollectionEnabled);
156 } 156 }
157 } 157 }
158 158
159 @Override 159 @Override
160 BidirectionalStream createBidirectionalStream(String url, BidirectionalStrea m.Callback callback, 160 BidirectionalStream createBidirectionalStream(String url, BidirectionalStrea m.Callback callback,
161 Executor executor, String httpMethod, List<Map.Entry<String, String> > requestHeaders, 161 Executor executor, String httpMethod, List<Map.Entry<String, String> > requestHeaders,
162 @BidirectionalStream.Builder.StreamPriority int priority) { 162 @BidirectionalStream.Builder.StreamPriority int priority) {
163 throw new UnsupportedOperationException(); 163 synchronized (mLock) {
164 checkHaveAdapter();
165 return new CronetBidirectionalStream(this, mUrlRequestContextAdapter , url, priority,
166 callback, executor, httpMethod, requestHeaders);
167 }
164 } 168 }
165 169
166 @Override 170 @Override
167 public boolean isEnabled() { 171 public boolean isEnabled() {
168 return Build.VERSION.SDK_INT >= 14; 172 return Build.VERSION.SDK_INT >= 14;
169 } 173 }
170 174
171 @Override 175 @Override
172 public String getVersionString() { 176 public String getVersionString() {
173 return "Cronet/" + Version.getVersion(); 177 return "Cronet/" + Version.getVersion();
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 357
354 @Override 358 @Override
355 public URLStreamHandlerFactory createURLStreamHandlerFactory() { 359 public URLStreamHandlerFactory createURLStreamHandlerFactory() {
356 return new CronetURLStreamHandlerFactory(this); 360 return new CronetURLStreamHandlerFactory(this);
357 } 361 }
358 362
359 /** 363 /**
360 * Mark request as started to prevent shutdown when there are active 364 * Mark request as started to prevent shutdown when there are active
361 * requests. 365 * requests.
362 */ 366 */
363 void onRequestStarted(UrlRequest urlRequest) { 367 void onRequestStarted() {
364 mActiveRequestCount.incrementAndGet(); 368 mActiveRequestCount.incrementAndGet();
365 } 369 }
366 370
367 /** 371 /**
368 * Mark request as finished to allow shutdown when there are no active 372 * Mark request as finished to allow shutdown when there are no active
369 * requests. 373 * requests.
370 */ 374 */
371 void onRequestDestroyed(UrlRequest urlRequest) { 375 void onRequestDestroyed() {
372 mActiveRequestCount.decrementAndGet(); 376 mActiveRequestCount.decrementAndGet();
373 } 377 }
374 378
375 @VisibleForTesting 379 @VisibleForTesting
376 long getUrlRequestContextAdapter() { 380 long getUrlRequestContextAdapter() {
377 synchronized (mLock) { 381 synchronized (mLock) {
378 checkHaveAdapter(); 382 checkHaveAdapter();
379 return mUrlRequestContextAdapter; 383 return mUrlRequestContextAdapter;
380 } 384 }
381 } 385 }
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 @NativeClassQualifiedName("CronetURLRequestContextAdapter") 516 @NativeClassQualifiedName("CronetURLRequestContextAdapter")
513 private native void nativeEnableNetworkQualityEstimator( 517 private native void nativeEnableNetworkQualityEstimator(
514 long nativePtr, boolean useLocalHostRequests, boolean useSmallerResp onses); 518 long nativePtr, boolean useLocalHostRequests, boolean useSmallerResp onses);
515 519
516 @NativeClassQualifiedName("CronetURLRequestContextAdapter") 520 @NativeClassQualifiedName("CronetURLRequestContextAdapter")
517 private native void nativeProvideRTTObservations(long nativePtr, boolean sho uld); 521 private native void nativeProvideRTTObservations(long nativePtr, boolean sho uld);
518 522
519 @NativeClassQualifiedName("CronetURLRequestContextAdapter") 523 @NativeClassQualifiedName("CronetURLRequestContextAdapter")
520 private native void nativeProvideThroughputObservations(long nativePtr, bool ean should); 524 private native void nativeProvideThroughputObservations(long nativePtr, bool ean should);
521 } 525 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698