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

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

Issue 1414053008: [Cronet] Replace setExperimentalQuicConnectionOptions with a more general API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Misha's comments Created 5 years, 1 month 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 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; 5 package org.chromium.net;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.support.annotation.IntDef; 8 import android.support.annotation.IntDef;
9 import android.util.Log; 9 import android.util.Log;
10 10
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 hint.put(CronetEngineBuilderList.QUIC_HINT_PORT, port); 307 hint.put(CronetEngineBuilderList.QUIC_HINT_PORT, port);
308 hint.put(CronetEngineBuilderList.QUIC_HINT_ALT_PORT, alternatePo rt); 308 hint.put(CronetEngineBuilderList.QUIC_HINT_ALT_PORT, alternatePo rt);
309 quicHints.put(hint); 309 quicHints.put(hint);
310 } catch (JSONException e) { 310 } catch (JSONException e) {
311 // Intentionally do nothing. 311 // Intentionally do nothing.
312 } 312 }
313 return this; 313 return this;
314 } 314 }
315 315
316 /** 316 /**
317 * Sets experimental QUIC connection options, overwriting any pre-existi ng 317 * Sets experimental options to be used in Cronet.
318 * options. List of options is subject to change.
319 * 318 *
320 * @param quicConnectionOptions comma-separated QUIC options (for exampl e 319 * Experimental options encoded as a string in a JSON format containing
321 * "PACE,IW10") to use if QUIC is enabled. 320 * experiments and their corresponding configuration options. The format
322 * @return the builder to facilitate chaining. 321 * is a JSON object with the name of the experiment as the key, and
322 * experiment options as the value; the experiment options for an
pauljensen 2015/10/30 18:05:23 change semicolon to period?
xunjieli 2015/10/30 18:30:57 Done.
323 * experiment is encoded as a JSON object with option name as the key
pauljensen 2015/10/30 18:05:23 remove "for an experiment"
pauljensen 2015/10/30 18:05:23 is->are
xunjieli 2015/10/30 18:30:57 Done.
xunjieli 2015/10/30 18:30:57 Done.
324 * and option value as the value:
325 * <pre>
326 * {"experiment1": {"option1": "option_value1", "option2":
327 * "option_value2", ...}, "experiment2: {"option3", "option_value3",
328 * ...}, ...}
329 * </pre>
330 * Here's an example to set QUIC connection options using this method:
pauljensen 2015/10/30 18:05:23 I don't think we want specific examples in our pub
xunjieli 2015/10/30 18:30:57 Done.
331 * <pre>
332 * {@code
333 * JSONObject quicParams = new JSONObject().put("connection_options",
334 * "PACE,IW10,FOO,DEADBEEF");
335 * JSONObject experimentalOptions = new JSONObject().put("QUIC",
336 * quicParams);
337 * builder.setExperimentalOptions(experimentalOptions.toString());
338 * }
339 * </pre>
340 * @param experimentalOptions experimental options as a JSON formatted
341 * string
323 */ 342 */
324 public Builder setExperimentalQuicConnectionOptions(String quicConnectio nOptions) { 343 public Builder setExperimentalOptions(String experimentalOptions) {
325 return putString(CronetEngineBuilderList.QUIC_OPTIONS, quicConnectio nOptions); 344 return putString(CronetEngineBuilderList.EXPERIMENTAL_OPTIONS, exper imentalOptions);
326 } 345 }
327 346
328 /** 347 /**
329 * Sets a native MockCertVerifier for testing. 348 * Sets a native MockCertVerifier for testing.
330 */ 349 */
331 Builder setMockCertVerifierForTesting(long mockCertVerifier) { 350 Builder setMockCertVerifierForTesting(long mockCertVerifier) {
332 return putString( 351 return putString(
333 CronetEngineBuilderList.MOCK_CERT_VERIFIER, String.valueOf(m ockCertVerifier)); 352 CronetEngineBuilderList.MOCK_CERT_VERIFIER, String.valueOf(m ockCertVerifier));
334 } 353 }
335 354
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 cronetEngine = possibleEngine; 694 cronetEngine = possibleEngine;
676 } 695 }
677 } catch (ClassNotFoundException e) { 696 } catch (ClassNotFoundException e) {
678 // Leave as null. 697 // Leave as null.
679 } catch (Exception e) { 698 } catch (Exception e) {
680 throw new IllegalStateException("Cannot instantiate: " + CRONET_URL_ REQUEST_CONTEXT, e); 699 throw new IllegalStateException("Cannot instantiate: " + CRONET_URL_ REQUEST_CONTEXT, e);
681 } 700 }
682 return cronetEngine; 701 return cronetEngine;
683 } 702 }
684 } 703 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698