| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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.impl; | 5 package org.chromium.net.impl; |
| 6 | 6 |
| 7 import org.chromium.base.Log; | 7 import org.chromium.base.Log; |
| 8 import org.chromium.base.VisibleForTesting; | 8 import org.chromium.base.VisibleForTesting; |
| 9 import org.chromium.base.annotations.CalledByNative; | 9 import org.chromium.base.annotations.CalledByNative; |
| 10 import org.chromium.base.annotations.JNINamespace; | 10 import org.chromium.base.annotations.JNINamespace; |
| 11 import org.chromium.base.annotations.NativeClassQualifiedName; | 11 import org.chromium.base.annotations.NativeClassQualifiedName; |
| 12 import org.chromium.net.BidirectionalStream; | 12 import org.chromium.net.BidirectionalStream; |
| 13 import org.chromium.net.CronetException; | 13 import org.chromium.net.CronetException; |
| 14 import org.chromium.net.Preconditions; | |
| 15 import org.chromium.net.QuicException; | 14 import org.chromium.net.QuicException; |
| 16 import org.chromium.net.RequestPriority; | 15 import org.chromium.net.RequestPriority; |
| 17 import org.chromium.net.UrlRequestException; | 16 import org.chromium.net.UrlRequestException; |
| 18 import org.chromium.net.UrlResponseInfo; | 17 import org.chromium.net.UrlResponseInfo; |
| 19 | 18 |
| 20 import java.nio.ByteBuffer; | 19 import java.nio.ByteBuffer; |
| 21 import java.util.AbstractMap; | 20 import java.util.AbstractMap; |
| 22 import java.util.ArrayList; | 21 import java.util.ArrayList; |
| 23 import java.util.Arrays; | 22 import java.util.Arrays; |
| 24 import java.util.LinkedList; | 23 import java.util.LinkedList; |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 if (maybeOnSucceeded) { | 208 if (maybeOnSucceeded) { |
| 210 maybeOnSucceededOnExecutor(); | 209 maybeOnSucceededOnExecutor(); |
| 211 } | 210 } |
| 212 } catch (Exception e) { | 211 } catch (Exception e) { |
| 213 onCallbackException(e); | 212 onCallbackException(e); |
| 214 } | 213 } |
| 215 } | 214 } |
| 216 } | 215 } |
| 217 | 216 |
| 218 CronetBidirectionalStream(CronetUrlRequestContext requestContext, String url
, | 217 CronetBidirectionalStream(CronetUrlRequestContext requestContext, String url
, |
| 219 @BidirectionalStream.Builder.StreamPriority int priority, Callback c
allback, | 218 @BidirectionalStreamBuilderImpl.StreamPriority int priority, Callbac
k callback, |
| 220 Executor executor, String httpMethod, List<Map.Entry<String, String>
> requestHeaders, | 219 Executor executor, String httpMethod, List<Map.Entry<String, String>
> requestHeaders, |
| 221 boolean delayRequestHeadersUntilNextFlush) { | 220 boolean delayRequestHeadersUntilNextFlush) { |
| 222 mRequestContext = requestContext; | 221 mRequestContext = requestContext; |
| 223 mInitialUrl = url; | 222 mInitialUrl = url; |
| 224 mInitialPriority = convertStreamPriority(priority); | 223 mInitialPriority = convertStreamPriority(priority); |
| 225 mCallback = callback; | 224 mCallback = callback; |
| 226 mExecutor = executor; | 225 mExecutor = executor; |
| 227 mInitialMethod = httpMethod; | 226 mInitialMethod = httpMethod; |
| 228 mRequestHeaders = stringsFromHeaderList(requestHeaders); | 227 mRequestHeaders = stringsFromHeaderList(requestHeaders); |
| 229 mDelayRequestHeadersUntilFirstFlush = delayRequestHeadersUntilNextFlush; | 228 mDelayRequestHeadersUntilFirstFlush = delayRequestHeadersUntilNextFlush; |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 String headersArray[] = new String[headersList.size() * 2]; | 632 String headersArray[] = new String[headersList.size() * 2]; |
| 634 int i = 0; | 633 int i = 0; |
| 635 for (Map.Entry<String, String> requestHeader : headersList) { | 634 for (Map.Entry<String, String> requestHeader : headersList) { |
| 636 headersArray[i++] = requestHeader.getKey(); | 635 headersArray[i++] = requestHeader.getKey(); |
| 637 headersArray[i++] = requestHeader.getValue(); | 636 headersArray[i++] = requestHeader.getValue(); |
| 638 } | 637 } |
| 639 return headersArray; | 638 return headersArray; |
| 640 } | 639 } |
| 641 | 640 |
| 642 private static int convertStreamPriority( | 641 private static int convertStreamPriority( |
| 643 @BidirectionalStream.Builder.StreamPriority int priority) { | 642 @BidirectionalStreamBuilderImpl.StreamPriority int priority) { |
| 644 switch (priority) { | 643 switch (priority) { |
| 645 case Builder.STREAM_PRIORITY_IDLE: | 644 case Builder.STREAM_PRIORITY_IDLE: |
| 646 return RequestPriority.IDLE; | 645 return RequestPriority.IDLE; |
| 647 case Builder.STREAM_PRIORITY_LOWEST: | 646 case Builder.STREAM_PRIORITY_LOWEST: |
| 648 return RequestPriority.LOWEST; | 647 return RequestPriority.LOWEST; |
| 649 case Builder.STREAM_PRIORITY_LOW: | 648 case Builder.STREAM_PRIORITY_LOW: |
| 650 return RequestPriority.LOW; | 649 return RequestPriority.LOW; |
| 651 case Builder.STREAM_PRIORITY_MEDIUM: | 650 case Builder.STREAM_PRIORITY_MEDIUM: |
| 652 return RequestPriority.MEDIUM; | 651 return RequestPriority.MEDIUM; |
| 653 case Builder.STREAM_PRIORITY_HIGHEST: | 652 case Builder.STREAM_PRIORITY_HIGHEST: |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 757 private native boolean nativeReadData( | 756 private native boolean nativeReadData( |
| 758 long nativePtr, ByteBuffer byteBuffer, int position, int limit); | 757 long nativePtr, ByteBuffer byteBuffer, int position, int limit); |
| 759 | 758 |
| 760 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") | 759 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") |
| 761 private native boolean nativeWritevData(long nativePtr, ByteBuffer[] buffers
, int[] positions, | 760 private native boolean nativeWritevData(long nativePtr, ByteBuffer[] buffers
, int[] positions, |
| 762 int[] limits, boolean endOfStream); | 761 int[] limits, boolean endOfStream); |
| 763 | 762 |
| 764 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") | 763 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") |
| 765 private native void nativeDestroy(long nativePtr, boolean sendOnCanceled); | 764 private native void nativeDestroy(long nativePtr, boolean sendOnCanceled); |
| 766 } | 765 } |
| OLD | NEW |