[core] Add hooks for setting experimental thread priorities for mbgl threads
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#include <mbgl/platform/settings.hpp>
|
||||
#include <mbgl/storage/asset_file_source.hpp>
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
#include <mbgl/storage/local_file_request.hpp>
|
||||
@@ -42,8 +43,8 @@ private:
|
||||
};
|
||||
|
||||
AssetFileSource::AssetFileSource(const std::string& root)
|
||||
: impl(std::make_unique<util::Thread<Impl>>("AssetFileSource", root)) {
|
||||
}
|
||||
: impl(std::make_unique<util::Thread<Impl>>(
|
||||
util::makeThreadPrioritySetter(platform::EXPERIMENTAL_THREAD_PRIORITY_FILE), "AssetFileSource", root)) {}
|
||||
|
||||
AssetFileSource::~AssetFileSource() = default;
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <mbgl/platform/settings.hpp>
|
||||
#include <mbgl/storage/database_file_source.hpp>
|
||||
#include <mbgl/storage/file_source_manager.hpp>
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
@@ -7,6 +8,7 @@
|
||||
#include <mbgl/storage/response.hpp>
|
||||
#include <mbgl/util/constants.hpp>
|
||||
#include <mbgl/util/logging.hpp>
|
||||
#include <mbgl/util/platform.hpp>
|
||||
#include <mbgl/util/thread.hpp>
|
||||
|
||||
namespace mbgl {
|
||||
@@ -149,7 +151,10 @@ class DatabaseFileSource::Impl {
|
||||
public:
|
||||
Impl(std::shared_ptr<FileSource> onlineFileSource, const std::string& cachePath)
|
||||
: thread(std::make_unique<util::Thread<DatabaseFileSourceThread>>(
|
||||
"DatabaseFileSource", std::move(onlineFileSource), cachePath)) {}
|
||||
util::makeThreadPrioritySetter(platform::EXPERIMENTAL_THREAD_PRIORITY_DATABASE),
|
||||
"DatabaseFileSource",
|
||||
std::move(onlineFileSource),
|
||||
cachePath)) {}
|
||||
|
||||
ActorRef<DatabaseFileSourceThread> actor() const { return thread->actor(); }
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <mbgl/platform/settings.hpp>
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
#include <mbgl/storage/local_file_request.hpp>
|
||||
#include <mbgl/storage/local_file_source.hpp>
|
||||
@@ -36,8 +37,8 @@ public:
|
||||
};
|
||||
|
||||
LocalFileSource::LocalFileSource()
|
||||
: impl(std::make_unique<util::Thread<Impl>>("LocalFileSource")) {
|
||||
}
|
||||
: impl(std::make_unique<util::Thread<Impl>>(
|
||||
util::makeThreadPrioritySetter(platform::EXPERIMENTAL_THREAD_PRIORITY_FILE), "LocalFileSource")) {}
|
||||
|
||||
LocalFileSource::~LocalFileSource() = default;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <mbgl/actor/actor.hpp>
|
||||
#include <mbgl/actor/scheduler.hpp>
|
||||
#include <mbgl/platform/settings.hpp>
|
||||
#include <mbgl/storage/file_source_manager.hpp>
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
#include <mbgl/storage/main_resource_loader.hpp>
|
||||
@@ -131,7 +132,12 @@ public:
|
||||
onlineFileSource(std::move(onlineFileSource_)),
|
||||
supportsCacheOnlyRequests_(bool(databaseFileSource)),
|
||||
thread(std::make_unique<util::Thread<MainResourceLoaderThread>>(
|
||||
"ResourceLoaderThread", assetFileSource, databaseFileSource, localFileSource, onlineFileSource)) {}
|
||||
util::makeThreadPrioritySetter(platform::EXPERIMENTAL_THREAD_PRIORITY_WORKER),
|
||||
"ResourceLoaderThread",
|
||||
assetFileSource,
|
||||
databaseFileSource,
|
||||
localFileSource,
|
||||
onlineFileSource)) {}
|
||||
|
||||
std::unique_ptr<AsyncRequest> request(const Resource& resource, Callback callback) {
|
||||
auto req = std::make_unique<FileSourceRequest>(std::move(callback));
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include <mbgl/storage/online_file_source.hpp>
|
||||
#include <mbgl/platform/settings.hpp>
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
#include <mbgl/storage/http_file_source.hpp>
|
||||
#include <mbgl/storage/network_status.hpp>
|
||||
|
||||
#include <mbgl/storage/file_source_request.hpp>
|
||||
#include <mbgl/storage/online_file_source.hpp>
|
||||
#include <mbgl/storage/resource_transform.hpp>
|
||||
#include <mbgl/storage/response.hpp>
|
||||
#include <mbgl/util/logging.hpp>
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <mbgl/util/http_timeout.hpp>
|
||||
#include <mbgl/util/mapbox.hpp>
|
||||
#include <mbgl/util/noncopyable.hpp>
|
||||
#include <mbgl/util/platform.hpp>
|
||||
#include <mbgl/util/run_loop.hpp>
|
||||
#include <mbgl/util/thread.hpp>
|
||||
#include <mbgl/util/timer.hpp>
|
||||
@@ -293,7 +294,9 @@ private:
|
||||
|
||||
class OnlineFileSource::Impl {
|
||||
public:
|
||||
Impl() : thread(std::make_unique<util::Thread<OnlineFileSourceThread>>("OnlineFileSource")) {}
|
||||
Impl()
|
||||
: thread(std::make_unique<util::Thread<OnlineFileSourceThread>>(
|
||||
util::makeThreadPrioritySetter(platform::EXPERIMENTAL_THREAD_PRIORITY_NETWORK), "OnlineFileSource")) {}
|
||||
|
||||
std::unique_ptr<AsyncRequest> request(Callback callback, Resource res) {
|
||||
auto req = std::make_unique<FileSourceRequest>(std::move(callback));
|
||||
|
||||
Reference in New Issue
Block a user