#pragma once #include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wshadow" #include #pragma GCC diagnostic pop namespace node_mbgl { namespace util { template class AsyncQueue; } class NodeThreadPool : public mbgl::Scheduler { public: NodeThreadPool(); ~NodeThreadPool(); void schedule(std::weak_ptr) override; private: util::AsyncQueue>* queue; class Worker : public Nan::AsyncWorker { public: Worker(std::weak_ptr); void Execute(); void WorkComplete(); private: std::weak_ptr mailbox; }; }; } // namespace node_mbgl