From 65d9bfb53361bfce6dc594c6a9df92c017dea6cb Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Sat, 24 Jun 2023 13:54:10 +0200 Subject: refactor(ops): Adding op2 macro and implementing in a couple of places (#19534) This is a new op system that will eventually replace `#[op]`. Features - More maintainable, generally less-coupled code - More modern Rust proc-macro libraries - Enforces correct `fast` labelling for fast ops, allowing for visual scanning of fast ops - Explicit marking of `#[string]`, `#[serde]` and `#[smi]` parameters. This first version of op2 supports integer and Option parameters only, and allows us to start working on converting ops and adding features. --- ext/http/http_next.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ext/http') diff --git a/ext/http/http_next.rs b/ext/http/http_next.rs index 89506b47d..92afe1456 100644 --- a/ext/http/http_next.rs +++ b/ext/http/http_next.rs @@ -20,6 +20,7 @@ use cache_control::CacheControl; use deno_core::error::AnyError; use deno_core::futures::TryFutureExt; use deno_core::op; +use deno_core::op2; use deno_core::serde_v8; use deno_core::serde_v8::from_v8; use deno_core::task::spawn; @@ -208,8 +209,8 @@ pub async fn op_http_upgrade_websocket_next( ws_create_server_stream(&mut state.borrow_mut(), stream, bytes) } -#[op(fast)] -pub fn op_http_set_promise_complete(slab_id: SlabId, status: u16) { +#[op2(fast)] +pub fn op_http_set_promise_complete(#[smi] slab_id: SlabId, status: u16) { let mut http = slab_get(slab_id); // The Javascript code will never provide a status that is invalid here (see 23_response.js) *http.response().status_mut() = StatusCode::from_u16(status).unwrap(); -- cgit v1.2.3