| 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; | 5 package org.chromium.net; |
| 6 | 6 |
| 7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
| 8 import android.app.Activity; | 8 import android.app.Activity; |
| 9 import android.net.Uri; | 9 import android.net.Uri; |
| 10 import android.os.AsyncTask; | 10 import android.os.AsyncTask; |
| 11 import android.os.Bundle; | 11 import android.os.Bundle; |
| 12 import android.os.Debug; | 12 import android.os.Debug; |
| 13 | 13 |
| 14 import org.chromium.net.urlconnection.CronetHttpURLStreamHandler; | |
| 15 import org.json.JSONException; | 14 import org.json.JSONException; |
| 16 import org.json.JSONObject; | 15 import org.json.JSONObject; |
| 17 | 16 |
| 18 import java.io.File; | 17 import java.io.File; |
| 19 import java.io.FileOutputStream; | 18 import java.io.FileOutputStream; |
| 20 import java.io.IOException; | 19 import java.io.IOException; |
| 21 import java.io.InputStream; | 20 import java.io.InputStream; |
| 22 import java.io.OutputStream; | 21 import java.io.OutputStream; |
| 23 import java.net.HttpURLConnection; | 22 import java.net.HttpURLConnection; |
| 24 import java.net.MalformedURLException; | 23 import java.net.MalformedURLException; |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 } catch (IOException e) { | 284 } catch (IOException e) { |
| 286 System.out.println("System HttpURLConnection failed with " +
e); | 285 System.out.println("System HttpURLConnection failed with " +
e); |
| 287 return false; | 286 return false; |
| 288 } | 287 } |
| 289 } | 288 } |
| 290 } | 289 } |
| 291 | 290 |
| 292 // GET or POST to one particular URL using Cronet HttpURLConnection API | 291 // GET or POST to one particular URL using Cronet HttpURLConnection API |
| 293 private class CronetHttpURLConnectionFetchTask implements Callable<Boole
an> { | 292 private class CronetHttpURLConnectionFetchTask implements Callable<Boole
an> { |
| 294 private final byte[] mBuffer = new byte[mBufferSize]; | 293 private final byte[] mBuffer = new byte[mBufferSize]; |
| 295 private final CronetHttpURLStreamHandler mStreamHandler; | |
| 296 | |
| 297 public CronetHttpURLConnectionFetchTask( | |
| 298 CronetHttpURLStreamHandler cronetStreamHandler) { | |
| 299 mStreamHandler = cronetStreamHandler; | |
| 300 } | |
| 301 | 294 |
| 302 @Override | 295 @Override |
| 303 public Boolean call() { | 296 public Boolean call() { |
| 304 try { | 297 try { |
| 305 return exerciseHttpURLConnection(mStreamHandler.openConnecti
on(mUrl), mBuffer); | 298 return exerciseHttpURLConnection(mCronetEngine.openConnectio
n(mUrl), mBuffer); |
| 306 } catch (IOException e) { | 299 } catch (IOException e) { |
| 307 System.out.println("Cronet HttpURLConnection failed with " +
e); | 300 System.out.println("Cronet HttpURLConnection failed with " +
e); |
| 308 return false; | 301 return false; |
| 309 } | 302 } |
| 310 } | 303 } |
| 311 } | 304 } |
| 312 | 305 |
| 313 // GET or POST to one particular URL using Cronet's asynchronous API | 306 // GET or POST to one particular URL using Cronet's asynchronous API |
| 314 private class CronetAsyncFetchTask implements Callable<Boolean> { | 307 private class CronetAsyncFetchTask implements Callable<Boolean> { |
| 315 // A message-queue for asynchronous tasks to post back to. | 308 // A message-queue for asynchronous tasks to post back to. |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 final List<Callable<Boolean>> tasks = new ArrayList<Callable<Boolean
>>(mIterations); | 466 final List<Callable<Boolean>> tasks = new ArrayList<Callable<Boolean
>>(mIterations); |
| 474 startLogging(); | 467 startLogging(); |
| 475 // Prepare list of tasks to run. | 468 // Prepare list of tasks to run. |
| 476 switch (mMode) { | 469 switch (mMode) { |
| 477 case SYSTEM_HUC: | 470 case SYSTEM_HUC: |
| 478 for (int i = 0; i < mIterations; i++) { | 471 for (int i = 0; i < mIterations; i++) { |
| 479 tasks.add(new SystemHttpURLConnectionFetchTask()); | 472 tasks.add(new SystemHttpURLConnectionFetchTask()); |
| 480 } | 473 } |
| 481 break; | 474 break; |
| 482 case CRONET_HUC: { | 475 case CRONET_HUC: { |
| 483 final CronetHttpURLStreamHandler cronetStreamHandler = | |
| 484 new CronetHttpURLStreamHandler(mCronetEngine); | |
| 485 for (int i = 0; i < mIterations; i++) { | 476 for (int i = 0; i < mIterations; i++) { |
| 486 tasks.add(new CronetHttpURLConnectionFetchTask(cronetStr
eamHandler)); | 477 tasks.add(new CronetHttpURLConnectionFetchTask()); |
| 487 } | 478 } |
| 488 break; | 479 break; |
| 489 } | 480 } |
| 490 case CRONET_ASYNC: | 481 case CRONET_ASYNC: |
| 491 tasks.add(new CronetAsyncFetchTask()); | 482 tasks.add(new CronetAsyncFetchTask()); |
| 492 break; | 483 break; |
| 493 default: | 484 default: |
| 494 throw new IllegalArgumentException("Unknown mode: " + mMode)
; | 485 throw new IllegalArgumentException("Unknown mode: " + mMode)
; |
| 495 } | 486 } |
| 496 // Execute tasks. | 487 // Execute tasks. |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 } | 579 } |
| 589 | 580 |
| 590 @Override | 581 @Override |
| 591 public void onCreate(Bundle savedInstanceState) { | 582 public void onCreate(Bundle savedInstanceState) { |
| 592 super.onCreate(savedInstanceState); | 583 super.onCreate(savedInstanceState); |
| 593 mConfig = getIntent().getData(); | 584 mConfig = getIntent().getData(); |
| 594 // Execute benchmarks on another thread to avoid networking on main thre
ad. | 585 // Execute benchmarks on another thread to avoid networking on main thre
ad. |
| 595 new BenchmarkTask().execute(); | 586 new BenchmarkTask().execute(); |
| 596 } | 587 } |
| 597 } | 588 } |
| OLD | NEW |