summaryrefslogtreecommitdiff
path: root/platform/default/src/mbgl/storage/offline_download.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/default/src/mbgl/storage/offline_download.cpp')
-rw-r--r--platform/default/src/mbgl/storage/offline_download.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/platform/default/src/mbgl/storage/offline_download.cpp b/platform/default/src/mbgl/storage/offline_download.cpp
index 98eb1d3884..32fcb4f625 100644
--- a/platform/default/src/mbgl/storage/offline_download.cpp
+++ b/platform/default/src/mbgl/storage/offline_download.cpp
@@ -1,4 +1,3 @@
-#include <mbgl/storage/online_file_source.hpp>
#include <mbgl/storage/offline_database.hpp>
#include <mbgl/storage/offline_download.hpp>
#include <mbgl/storage/resource.hpp>
@@ -90,11 +89,11 @@ uint64_t tileCount(const OfflineRegionDefinition& definition, style::SourceType
// OfflineDownload
OfflineDownload::OfflineDownload(int64_t id_,
- OfflineRegionDefinition&& definition_,
+ OfflineRegionDefinition definition_,
OfflineDatabase& offlineDatabase_,
- OnlineFileSource& onlineFileSource_)
+ FileSource& onlineFileSource_)
: id(id_),
- definition(definition_),
+ definition(std::move(definition_)),
offlineDatabase(offlineDatabase_),
onlineFileSource(onlineFileSource_) {
setObserver(nullptr);
@@ -369,7 +368,13 @@ void OfflineDownload::continueDownload() {
if (resourcesToBeMarkedAsUsed.size() >= kMarkBatchSize) markPendingUsedResources();
- while (!resourcesRemaining.empty() && requests.size() < onlineFileSource.getMaximumConcurrentRequests()) {
+ uint32_t maxConcurrentRequests = util::DEFAULT_MAXIMUM_CONCURRENT_REQUESTS;
+ auto value = onlineFileSource.getProperty("max-concurrent-requests");
+ if (uint64_t* maxRequests = value.getUint()) {
+ maxConcurrentRequests = static_cast<uint32_t>(*maxRequests);
+ }
+
+ while (!resourcesRemaining.empty() && requests.size() < maxConcurrentRequests) {
ensureResource(std::move(resourcesRemaining.front()));
resourcesRemaining.pop_front();
}