mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 19:08:50 +00:00
* 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>
25 lines
775 B
C++
25 lines
775 B
C++
#pragma once
|
|
|
|
#include <JavaScriptCore/DeferredWorkTimer.h>
|
|
|
|
namespace Bun {
|
|
|
|
class JSCTaskScheduler {
|
|
public:
|
|
JSCTaskScheduler()
|
|
: m_pendingTicketsKeepingEventLoopAlive()
|
|
, m_pendingTicketsOther()
|
|
{
|
|
}
|
|
|
|
static void onAddPendingWork(std::unique_ptr<JSC::DeferredWorkTimer::TicketData> 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<std::unique_ptr<JSC::DeferredWorkTimer::TicketData>> m_pendingTicketsKeepingEventLoopAlive;
|
|
HashSet<std::unique_ptr<JSC::DeferredWorkTimer::TicketData>> m_pendingTicketsOther;
|
|
};
|
|
|
|
} |