From c6a3467625fede0fe9901ab53b0aabd651866b64 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 22 Jul 2023 04:31:58 -0700 Subject: Unified event loop (#3741) * Unified event loop * Update WebKit, add test for es-module-lexer * Update README.md * Use async wasm * Explicitly set whether concurrenttask should be deinit'd * Update package.json --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/bindings/JSCTaskScheduler.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/bun.js/bindings/JSCTaskScheduler.h (limited to 'src/bun.js/bindings/JSCTaskScheduler.h') diff --git a/src/bun.js/bindings/JSCTaskScheduler.h b/src/bun.js/bindings/JSCTaskScheduler.h new file mode 100644 index 000000000..3257eb9c8 --- /dev/null +++ b/src/bun.js/bindings/JSCTaskScheduler.h @@ -0,0 +1,25 @@ +#pragma once + +#include + +namespace Bun { + +class JSCTaskScheduler { +public: + JSCTaskScheduler() + : m_pendingTicketsKeepingEventLoopAlive() + , m_pendingTicketsOther() + { + } + + static void onAddPendingWork(std::unique_ptr ticket, JSC::DeferredWorkTimer::WorkKind kind); + static void onScheduleWorkSoon(JSC::DeferredWorkTimer::Ticket ticket, JSC::DeferredWorkTimer::Task&& task); + static void onCancelPendingWork(JSC::DeferredWorkTimer::Ticket ticket); + +public: + Lock m_lock; + HashSet> m_pendingTicketsKeepingEventLoopAlive; + HashSet> m_pendingTicketsOther; +}; + +} \ No newline at end of file -- cgit v1.2.3