diff options
author | Koushik Dutta <koushd@gmail.com> | 2013-05-29 00:04:49 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2013-05-29 00:04:49 -0700 |
commit | bdeba4bdf93abd87ff76b5cfe6fa61ed78eeb2cf (patch) | |
tree | a7720258a789e327ac61f1b410f7e7c83a482bb1 /AndroidAsync/src/com/koushikdutta/async/FilteredDataEmitter.java | |
parent | 8d056c9e46043f889d21f76a9789ea9d791c6cb0 (diff) | |
download | AndroidAsync-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.java | 27 |
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. } |