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.RequestFinishedInfo; | 15 import org.chromium.net.RequestFinishedInfo; |
17 import org.chromium.net.RequestPriority; | 16 import org.chromium.net.RequestPriority; |
18 import org.chromium.net.UrlRequestException; | 17 import org.chromium.net.UrlRequestException; |
19 import org.chromium.net.UrlResponseInfo; | 18 import org.chromium.net.UrlResponseInfo; |
20 | 19 |
21 import java.nio.ByteBuffer; | 20 import java.nio.ByteBuffer; |
22 import java.util.AbstractMap; | 21 import java.util.AbstractMap; |
23 import java.util.ArrayList; | 22 import java.util.ArrayList; |
24 import java.util.Arrays; | 23 import java.util.Arrays; |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 if (maybeOnSucceeded) { | 214 if (maybeOnSucceeded) { |
216 maybeOnSucceededOnExecutor(); | 215 maybeOnSucceededOnExecutor(); |
217 } | 216 } |
218 } catch (Exception e) { | 217 } catch (Exception e) { |
219 onCallbackException(e); | 218 onCallbackException(e); |
220 } | 219 } |
221 } | 220 } |
222 } | 221 } |
223 | 222 |
224 CronetBidirectionalStream(CronetUrlRequestContext requestContext, String url
, | 223 CronetBidirectionalStream(CronetUrlRequestContext requestContext, String url
, |
225 @BidirectionalStream.Builder.StreamPriority int priority, Callback c
allback, | 224 @BidirectionalStreamBuilderImpl.StreamPriority int priority, Callbac
k callback, |
226 Executor executor, String httpMethod, List<Map.Entry<String, String>
> requestHeaders, | 225 Executor executor, String httpMethod, List<Map.Entry<String, String>
> requestHeaders, |
227 boolean delayRequestHeadersUntilNextFlush, Collection<Object> reques
tAnnotations) { | 226 boolean delayRequestHeadersUntilNextFlush, Collection<Object> reques
tAnnotations) { |
228 mRequestContext = requestContext; | 227 mRequestContext = requestContext; |
229 mInitialUrl = url; | 228 mInitialUrl = url; |
230 mInitialPriority = convertStreamPriority(priority); | 229 mInitialPriority = convertStreamPriority(priority); |
231 mCallback = callback; | 230 mCallback = callback; |
232 mExecutor = executor; | 231 mExecutor = executor; |
233 mInitialMethod = httpMethod; | 232 mInitialMethod = httpMethod; |
234 mRequestHeaders = stringsFromHeaderList(requestHeaders); | 233 mRequestHeaders = stringsFromHeaderList(requestHeaders); |
235 mDelayRequestHeadersUntilFirstFlush = delayRequestHeadersUntilNextFlush; | 234 mDelayRequestHeadersUntilFirstFlush = delayRequestHeadersUntilNextFlush; |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 String headersArray[] = new String[headersList.size() * 2]; | 639 String headersArray[] = new String[headersList.size() * 2]; |
641 int i = 0; | 640 int i = 0; |
642 for (Map.Entry<String, String> requestHeader : headersList) { | 641 for (Map.Entry<String, String> requestHeader : headersList) { |
643 headersArray[i++] = requestHeader.getKey(); | 642 headersArray[i++] = requestHeader.getKey(); |
644 headersArray[i++] = requestHeader.getValue(); | 643 headersArray[i++] = requestHeader.getValue(); |
645 } | 644 } |
646 return headersArray; | 645 return headersArray; |
647 } | 646 } |
648 | 647 |
649 private static int convertStreamPriority( | 648 private static int convertStreamPriority( |
650 @BidirectionalStream.Builder.StreamPriority int priority) { | 649 @BidirectionalStreamBuilderImpl.StreamPriority int priority) { |
651 switch (priority) { | 650 switch (priority) { |
652 case Builder.STREAM_PRIORITY_IDLE: | 651 case Builder.STREAM_PRIORITY_IDLE: |
653 return RequestPriority.IDLE; | 652 return RequestPriority.IDLE; |
654 case Builder.STREAM_PRIORITY_LOWEST: | 653 case Builder.STREAM_PRIORITY_LOWEST: |
655 return RequestPriority.LOWEST; | 654 return RequestPriority.LOWEST; |
656 case Builder.STREAM_PRIORITY_LOW: | 655 case Builder.STREAM_PRIORITY_LOW: |
657 return RequestPriority.LOW; | 656 return RequestPriority.LOW; |
658 case Builder.STREAM_PRIORITY_MEDIUM: | 657 case Builder.STREAM_PRIORITY_MEDIUM: |
659 return RequestPriority.MEDIUM; | 658 return RequestPriority.MEDIUM; |
660 case Builder.STREAM_PRIORITY_HIGHEST: | 659 case Builder.STREAM_PRIORITY_HIGHEST: |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 private native boolean nativeReadData( | 770 private native boolean nativeReadData( |
772 long nativePtr, ByteBuffer byteBuffer, int position, int limit); | 771 long nativePtr, ByteBuffer byteBuffer, int position, int limit); |
773 | 772 |
774 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") | 773 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") |
775 private native boolean nativeWritevData(long nativePtr, ByteBuffer[] buffers
, int[] positions, | 774 private native boolean nativeWritevData(long nativePtr, ByteBuffer[] buffers
, int[] positions, |
776 int[] limits, boolean endOfStream); | 775 int[] limits, boolean endOfStream); |
777 | 776 |
778 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") | 777 @NativeClassQualifiedName("CronetBidirectionalStreamAdapter") |
779 private native void nativeDestroy(long nativePtr, boolean sendOnCanceled); | 778 private native void nativeDestroy(long nativePtr, boolean sendOnCanceled); |
780 } | 779 } |
OLD | NEW |