summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/default/src/mbgl/storage/online_file_source.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/platform/default/src/mbgl/storage/online_file_source.cpp b/platform/default/src/mbgl/storage/online_file_source.cpp
index fce1c3e2b6..6d31049243 100644
--- a/platform/default/src/mbgl/storage/online_file_source.cpp
+++ b/platform/default/src/mbgl/storage/online_file_source.cpp
@@ -170,7 +170,15 @@ public:
private:
void networkIsReachableAgain() {
- for (auto& request : allRequests) {
+ // Notify requests about network reachability in order of their priority.
+ std::vector<decltype(allRequests)::value_type> requests;
+ requests.reserve(allRequests.size());
+ requests.insert(requests.end(), allRequests.begin(), allRequests.end());
+ std::sort(requests.begin(), requests.end(), [](auto& a, auto& b) {
+ return a->resource.priority < b->resource.priority;
+ });
+
+ for (auto& request : requests) {
request->networkIsReachableAgain();
}
}