aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2013-05-29 00:04:49 -0700
committerKoushik Dutta <koushd@gmail.com>2013-05-29 00:04:49 -0700
commitbdeba4bdf93abd87ff76b5cfe6fa61ed78eeb2cf (patch)
treea7720258a789e327ac61f1b410f7e7c83a482bb1 /AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java
parent8d056c9e46043f889d21f76a9789ea9d791c6cb0 (diff)
downloadAndroidAsync-bdeba4bdf93abd87ff76b5cfe6fa61ed78eeb2cf.tar.gz
AndroidAsync-bdeba4bdf93abd87ff76b5cfe6fa61ed78eeb2cf.tar.bz2
AndroidAsync-bdeba4bdf93abd87ff76b5cfe6fa61ed78eeb2cf.zip
test data
Diffstat (limited to 'AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java b/AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java
index 812d828..87b9406 100644
--- a/AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java
+++ b/AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java
@@ -4,7 +4,7 @@ import com.koushikdutta.async.callback.CompletedCallback;
import com.koushikdutta.async.callback.DataCallback;
import com.koushikdutta.async.wrapper.DataEmitterWrapper;
-public class FilteredDataEmitter extends DataEmitterBase implements DataEmitter, DataCallback, DataEmitterWrapper {
+public class FilteredDataEmitter extends DataEmitterBase implements DataEmitter, DataCallback, DataEmitterWrapper, DataTrackingEmitter {
DataEmitter mEmitter;
@Override
public DataEmitter getDataEmitter() {
@@ -24,10 +24,33 @@ public class FilteredDataEmitter extends DataEmitterBase implements DataEmitter,
}
});
}
-
+
+ @Override
+ public int getBytesRead() {
+ return totalRead;
+ }
+
+ @Override
+ public DataTracker getDataTracker() {
+ return tracker;
+ }
+
+ @Override
+ public void setDataTracker(DataTracker tracker) {
+ this.tracker = tracker;
+ }
+
+ DataTracker tracker;
+ int totalRead;
@Override
public void onDataAvailable(DataEmitter emitter, ByteBufferList bb) {
+ if (bb != null)
+ totalRead += bb.remaining();
Util.emitAllData(this, bb);
+ if (bb != null)
+ totalRead -= bb.remaining();
+ if (tracker != null && bb != null)
+ tracker.onData(totalRead);
// if there's data after the emitting, and it is paused... the underlying implementation
// is obligated to cache the byte buffer list.
}