[core] [node] pass thread pool impl to Map constructor

Updates mbgl::Map constructor usage everywhere

Adds NodeThreadPool implementation using AsyncQueue to call
Nan::AsyncQueueWorker from main thread
This commit is contained in:
Mike Morris
2016-10-12 17:28:22 -04:00
parent ab85fdb452
commit 817c26111a
41 changed files with 211 additions and 66 deletions

View File

@@ -5,6 +5,7 @@
#include <mbgl/map/map.hpp>
#include <mbgl/platform/default/headless_display.hpp>
#include <mbgl/storage/online_file_source.hpp>
#include <mbgl/platform/default/thread_pool.hpp>
#include <mbgl/util/exception.hpp>
#include <mbgl/util/run_loop.hpp>
@@ -22,8 +23,9 @@ TEST(API, RenderWithoutCallback) {
HeadlessView view(display, 1);
view.resize(128, 512);
StubFileSource fileSource;
ThreadPool threadPool(4);
std::unique_ptr<Map> map = std::make_unique<Map>(view, fileSource, MapMode::Still);
std::unique_ptr<Map> map = std::make_unique<Map>(view, fileSource, threadPool, MapMode::Still);
map->renderStill(nullptr);
// Force Map thread to join.
@@ -46,8 +48,9 @@ TEST(API, RenderWithoutStyle) {
HeadlessView view(display, 1);
view.resize(128, 512);
StubFileSource fileSource;
ThreadPool threadPool(4);
Map map(view, fileSource, MapMode::Still);
Map map(view, fileSource, threadPool, MapMode::Still);
std::exception_ptr error;
map.renderStill([&](std::exception_ptr error_, PremultipliedImage&&) {