From 23beba030a29ec4f2471bd49d809132fa42409db Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 5 Jun 2024 14:13:37 -0700 Subject: [PATCH] feat: support task deadlines (#58) --- builtins/web/timers.cpp | 4 ++++ include/extension-api.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/builtins/web/timers.cpp b/builtins/web/timers.cpp index 340c852..1923d1e 100644 --- a/builtins/web/timers.cpp +++ b/builtins/web/timers.cpp @@ -68,6 +68,10 @@ class TimerTask final : public api::AsyncTask { return true; } + [[nodiscard]] uint64_t deadline() override { + return deadline_; + } + void trace(JSTracer *trc) override { TraceEdge(trc, &callback_, "Timer callback"); for (auto &arg : arguments_) { diff --git a/include/extension-api.h b/include/extension-api.h index f6558b4..98a4783 100644 --- a/include/extension-api.h +++ b/include/extension-api.h @@ -127,6 +127,10 @@ class AsyncTask { return handle_; } + [[nodiscard]] virtual uint64_t deadline() { + return 0; + } + virtual void trace(JSTracer *trc) = 0; /**