aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/android/volley/NetworkDispatcher.java
diff options
context:
space:
mode:
authorAnonymous <no-reply@google.com>2018-05-07 11:39:31 -0700
committerJeff Davidson <jpd@google.com>2018-05-10 20:11:47 +0000
commit9a128540048414c78a2be9524f93b6234c640b3a (patch)
treef39fa51c442a9c6922d1f6def2e75d5dca677f20 /src/main/java/com/android/volley/NetworkDispatcher.java
parentaee0d184daa41c0abb5bf88580ad6cf7fea63d72 (diff)
downloadvolley-9a128540048414c78a2be9524f93b6234c640b3a.tar.gz
Import of Volley from GitHub to AOSP.android-o-mr1-iot-release-1.0.1
Adds android-support-annotations as a runtime dependency in Android.mk. - 28588322fa4eca3c1a7922b8a2f7b4a97d5c099a Fix concurrent modification errors in ImageContainer. (#1... by Jeff Davidson <jpd236@cornell.edu> - ba3b40457a97b3b3812cb00191b41cb0af4149df Fix unchecked operations in Volley build. (#178) by Jeff Davidson <jpd236@cornell.edu> - 62c19019e43a76ba4a084b25548e7fb1cfd4a457 Always close HttpURLConnections in HurlStack. (#176) by Jeff Davidson <jpd236@cornell.edu> - 36c80f25a78cf2ba2feb2d697f12f9bbca96bf43 Port dispatcher tests to mockito. (#172) by Jeff Davidson <jpd236@cornell.edu> - 15b55093fc8ac86902a745f46a2bdea825e797a3 Cleaning up parameter comments + unnecessary generics. (#... by Jeff Davidson <jpd236@cornell.edu> - 6b341755e522f23de149544536b9b69c7b7b8305 Remove all wildcard imports. (#170) by Jeff Davidson <jpd236@cornell.edu> - a8424005b3ba6d17fc9e123a2176da702f3ead10 Use actual annotations instead of comments. (#169) by Jeff Davidson <jpd236@cornell.edu> - bdc80555aee738235bd33c26878bbe8ce382d795 Apply google-java-format to all code. (#165) by Jeff Davidson <jpd236@cornell.edu> - 5307293b15dd0c32f53b8f1fd8c198caa443982e Integrate Volley builds with errorprone. (#162) by Jeff Davidson <jpd236@cornell.edu> - fa586029500e6813d654f1b454cd3345b0a43897 Fail Travis builds if snapshot uploading fails. (#163) by Jeff Davidson <jpd236@cornell.edu> - 0ebb97e9b0192e879088b38b5992158e99364dc6 Stop publishing bintray-info.json. (#141) by Jeff Davidson <jpd236@cornell.edu> - b89dfbd2e6964acfe5561e268300611a83957a15 fix: request time contains RequestQueue blocking time. (#... by dezng <dezng123@gmail.com> - c2bfd86596e588c924c2c7e0ae0940053800af5c Guard against illegal argument and OOM exceptions in read... by Joe Bowbeer <joe.bowbeer@gmail.com> - fc8ff0423fe9a3af6595088b34f912fb2d920ffb Log fix (#112) by Navid Ht <navid.htb@gmail.com> - 47586f0fd42acd5ce09dfc767387df685edfa547 Bump version to 1.1.1-SNAPSHOT. (#123) by Jeff Davidson <jpd236@cornell.edu> - 1392f961af17d0f5ba367d8d199a18e5325b882e Update deploy credentials. (#122) by Jeff Davidson <jpd236@cornell.edu> - ffe9281709f38f84492ce898603d3ec084326a57 Set project group and version. (#120) by Jeff Davidson <jpd236@cornell.edu> GitOrigin-RevId: 28588322fa4eca3c1a7922b8a2f7b4a97d5c099a Change-Id: Ifeea069df2f0a5fd10bc3d4686601c88906ee653
Diffstat (limited to 'src/main/java/com/android/volley/NetworkDispatcher.java')
-rw-r--r--src/main/java/com/android/volley/NetworkDispatcher.java31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/com/android/volley/NetworkDispatcher.java b/src/main/java/com/android/volley/NetworkDispatcher.java
index 2c04ce0..6e47465 100644
--- a/src/main/java/com/android/volley/NetworkDispatcher.java
+++ b/src/main/java/com/android/volley/NetworkDispatcher.java
@@ -21,16 +21,16 @@ import android.net.TrafficStats;
import android.os.Build;
import android.os.Process;
import android.os.SystemClock;
-
+import android.support.annotation.VisibleForTesting;
import java.util.concurrent.BlockingQueue;
/**
* Provides a thread for performing network dispatch from a queue of requests.
*
- * Requests added to the specified queue are processed from the network via a
- * specified {@link Network} interface. Responses are committed to cache, if
- * eligible, using a specified {@link Cache} interface. Valid responses and
- * errors are posted back to the caller via a {@link ResponseDelivery}.
+ * <p>Requests added to the specified queue are processed from the network via a specified {@link
+ * Network} interface. Responses are committed to cache, if eligible, using a specified {@link
+ * Cache} interface. Valid responses and errors are posted back to the caller via a {@link
+ * ResponseDelivery}.
*/
public class NetworkDispatcher extends Thread {
@@ -46,16 +46,19 @@ public class NetworkDispatcher extends Thread {
private volatile boolean mQuit = false;
/**
- * Creates a new network dispatcher thread. You must call {@link #start()}
- * in order to begin processing.
+ * Creates a new network dispatcher thread. You must call {@link #start()} in order to begin
+ * processing.
*
* @param queue Queue of incoming requests for triage
* @param network Network interface to use for performing requests
* @param cache Cache interface to use for writing responses to cache
* @param delivery Delivery interface to use for posting responses
*/
- public NetworkDispatcher(BlockingQueue<Request<?>> queue,
- Network network, Cache cache, ResponseDelivery delivery) {
+ public NetworkDispatcher(
+ BlockingQueue<Request<?>> queue,
+ Network network,
+ Cache cache,
+ ResponseDelivery delivery) {
mQueue = queue;
mNetwork = network;
mCache = cache;
@@ -63,8 +66,8 @@ public class NetworkDispatcher extends Thread {
}
/**
- * Forces this dispatcher to quit immediately. If any requests are still in
- * the queue, they are not guaranteed to be processed.
+ * Forces this dispatcher to quit immediately. If any requests are still in the queue, they are
+ * not guaranteed to be processed.
*/
public void quit() {
mQuit = true;
@@ -99,10 +102,14 @@ public class NetworkDispatcher extends Thread {
// of time. Update consumer-proguard-rules.pro when modifying this. See also
// https://github.com/google/volley/issues/114
private void processRequest() throws InterruptedException {
- long startTimeMs = SystemClock.elapsedRealtime();
// Take a request from the queue.
Request<?> request = mQueue.take();
+ processRequest(request);
+ }
+ @VisibleForTesting
+ void processRequest(Request<?> request) {
+ long startTimeMs = SystemClock.elapsedRealtime();
try {
request.addMarker("network-queue-take");