Use flatMap with a limit instead of windows for concurrent downloads
This commit is contained in:
parent
999cc0df6e
commit
3bdca95d96
1 changed files with 2 additions and 4 deletions
|
@ -68,9 +68,7 @@ public class DownloadManager {
|
|||
.subscribeOn(Schedulers.io())
|
||||
.filter(event -> !isChapterDownloaded(event))
|
||||
.flatMap(this::createDownload)
|
||||
.window(preferences.getDownloadThreads())
|
||||
.concatMap(concurrentDownloads -> concurrentDownloads
|
||||
.concatMap(this::downloadChapter))
|
||||
.flatMap(this::downloadChapter, preferences.getDownloadThreads())
|
||||
.onBackpressureBuffer()
|
||||
.subscribe();
|
||||
}
|
||||
|
@ -131,7 +129,7 @@ public class DownloadManager {
|
|||
download.source.getRemainingImageUrlsFromPageList(pageList)))
|
||||
// Start downloading images, consider we can have downloaded images already
|
||||
.concatMap(page -> getDownloadedImage(page, download.source, download.directory))
|
||||
// Remove from the queue
|
||||
// Do after download completes
|
||||
.doOnCompleted(() -> onChapterDownloaded(download));
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue