Skip to main content

cratefield_runtime_cloudflare/ports/
defer.rs

1//! `Defer` over the Workers `wait_until` entry points: fetch contexts and
2//! scheduled contexts each have one.
3
4use cratefield_core::Defer;
5use futures_core::future::BoxFuture;
6use worker::{Context, ScheduleContext};
7
8pub struct ContextDefer(pub Context);
9
10impl Defer for ContextDefer {
11    fn wait_until(&self, fut: BoxFuture<'static, ()>) {
12        self.0.wait_until(fut);
13    }
14}
15
16pub struct ScheduleDefer(pub ScheduleContext);
17
18impl Defer for ScheduleDefer {
19    fn wait_until(&self, fut: BoxFuture<'static, ()>) {
20        self.0.wait_until(fut);
21    }
22}