diff options
Diffstat (limited to 'platform/default/src/mbgl/storage/offline_download.cpp')
-rw-r--r-- | platform/default/src/mbgl/storage/offline_download.cpp | 15 |
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(); } |