mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
refactor: op_sleep uses op2 macro (#20908)
Signed-off-by: Matt Mastracci <matthew@mastracci.com> Co-authored-by: Matt Mastracci <matthew@mastracci.com>
This commit is contained in:
parent
347c22dd5e
commit
96ce9cdb17
1 changed files with 7 additions and 3 deletions
|
@ -79,13 +79,17 @@ pub fn op_timer_handle(state: &mut OpState) -> ResourceId {
|
|||
/// [`TimerHandle`] resource given by `rid` has been canceled.
|
||||
///
|
||||
/// If the timer is canceled, this returns `false`. Otherwise, it returns `true`.
|
||||
#[op2(async(deferred), fast)]
|
||||
#[op2(async(lazy), fast)]
|
||||
pub async fn op_sleep(
|
||||
state: Rc<RefCell<OpState>>,
|
||||
#[number] millis: u64,
|
||||
#[smi] millis: u64,
|
||||
#[smi] rid: ResourceId,
|
||||
) -> Result<bool, AnyError> {
|
||||
let handle = state.borrow().resource_table.get::<TimerHandle>(rid)?;
|
||||
// If the timer is not present in the resource table it was cancelled before
|
||||
// this op was polled.
|
||||
let Ok(handle) = state.borrow().resource_table.get::<TimerHandle>(rid) else {
|
||||
return Ok(false);
|
||||
};
|
||||
|
||||
// If a timer is requested with <=100ms resolution, request the high-res timer. Since the default
|
||||
// Windows timer period is 15ms, this means a 100ms timer could fire at 115ms (15% late). We assume that
|
||||
|
|
Loading…
Reference in a new issue