Add backpressure buffer for downloads

This commit is contained in:
inorichi 2016-01-24 13:23:29 +01:00
parent fad7b75b96
commit 0e87dc995a

View file

@ -78,6 +78,7 @@ public class DownloadManager {
downloadsSubscription = downloadsQueueSubject downloadsSubscription = downloadsQueueSubject
.flatMap(Observable::from) .flatMap(Observable::from)
.lift(new DynamicConcurrentMergeOperator<>(this::downloadChapter, threadsSubject)) .lift(new DynamicConcurrentMergeOperator<>(this::downloadChapter, threadsSubject))
.onBackpressureBuffer()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.map(download -> areAllDownloadsFinished()) .map(download -> areAllDownloadsFinished())
.subscribe(finished -> { .subscribe(finished -> {