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

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java

Issue 2697833003: [Cronet] Add isDone() check in CronetBidirectionalStream#onWritevCompleted (Closed)
Patch Set: added test per suggestion Created 3 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
index 8f05ccefa4ec59ef239f0be5b1363a37df37d1bc..1fe77e6e35065307da5c105674711d05675d735c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java
@@ -69,6 +69,10 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
// Buffers that we yet to receive the corresponding onWriteCompleted callback.
private final ArrayList<WriteBuffer> mWriteBuffersToBeAcked = new ArrayList<WriteBuffer>();
+ // Whether to use a direct executor.
+ private final boolean mUseDirectExecutor;
+ private final DirectExecutor mDirectExecutor;
+
private class ExecutorThreadFactory implements ThreadFactory {
public Thread newThread(Runnable r) {
mExecutorThread = new Thread(r);
@@ -85,6 +89,12 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
}
}
+ private static class DirectExecutor implements Executor {
+ @Override
+ public void execute(Runnable task) {
+ task.run();
+ }
+ }
public enum ResponseStep {
NOTHING,
ON_STREAM_READY,
@@ -107,6 +117,16 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
THROW_SYNC
}
+ public TestBidirectionalStreamCallback() {
+ mUseDirectExecutor = false;
+ mDirectExecutor = null;
+ }
+
+ public TestBidirectionalStreamCallback(boolean useDirectExecutor) {
+ mUseDirectExecutor = useDirectExecutor;
+ mDirectExecutor = new DirectExecutor();
+ }
+
public void setAutoAdvance(boolean autoAdvance) {
mAutoAdvance = autoAdvance;
}
@@ -131,10 +151,16 @@ public class TestBidirectionalStreamCallback extends BidirectionalStream.Callbac
}
public Executor getExecutor() {
+ if (mUseDirectExecutor) {
+ return mDirectExecutor;
+ }
return mExecutorService;
}
public void shutdownExecutor() {
+ if (mUseDirectExecutor) {
+ throw new UnsupportedOperationException("DirectExecutor doesn't support shutdown");
+ }
mExecutorService.shutdown();
}

Powered by Google App Engine
This is Rietveld 408576698