/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/src/tasks/task-utils.cc
64 строки
2 KB
Michaël Zasso
deps: update V8 to 7.9.317.20
08 ноя 2019, 17:46
Не верифицирован
08 ноя 2019, 17:46
6ca81ad
Код
Авторство
О чём код?
// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/tasks/task-utils.h" #include "src/tasks/cancelable-task.h" namespace v8 { namespace internal { namespace { class CancelableFuncTask final : public CancelableTask { public: CancelableFuncTask(Isolate* isolate, std::function<void()> func) : CancelableTask(isolate), func_(std::move(func)) {} CancelableFuncTask(CancelableTaskManager* manager, std::function<void()> func) : CancelableTask(manager), func_(std::move(func)) {} void RunInternal() final { func_(); } private: const std::function<void()> func_; }; class CancelableIdleFuncTask final : public CancelableIdleTask { public: CancelableIdleFuncTask(Isolate* isolate, std::function<void(double)> func) : CancelableIdleTask(isolate), func_(std::move(func)) {} CancelableIdleFuncTask(CancelableTaskManager* manager, std::function<void(double)> func) : CancelableIdleTask(manager), func_(std::move(func)) {} void RunInternal(double deadline_in_seconds) final { func_(deadline_in_seconds); } private: const std::function<void(double)> func_; }; } // namespace std::unique_ptr<CancelableTask> MakeCancelableTask(Isolate* isolate, std::function<void()> func) { return std::make_unique<CancelableFuncTask>(isolate, std::move(func)); } std::unique_ptr<CancelableTask> MakeCancelableTask( CancelableTaskManager* manager, std::function<void()> func) { return std::make_unique<CancelableFuncTask>(manager, std::move(func)); } std::unique_ptr<CancelableIdleTask> MakeCancelableIdleTask( Isolate* isolate, std::function<void(double)> func) { return std::make_unique<CancelableIdleFuncTask>(isolate, std::move(func)); } std::unique_ptr<CancelableIdleTask> MakeCancelableIdleTask( CancelableTaskManager* manager, std::function<void(double)> func) { return std::make_unique<CancelableIdleFuncTask>(manager, std::move(func)); } } // namespace internal } // namespace v8