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 |