From 5e7435fb8010a6d90f1b88d68ee8c431abf846e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Thu, 14 Sep 2023 23:05:18 +0200 Subject: refactor: rewrite more ops to op2 macro (#20478) --- runtime/ops/web_worker.rs | 10 ++++++---- runtime/ops/worker_host.rs | 27 +++++++++++++++------------ 2 files changed, 21 insertions(+), 16 deletions(-) (limited to 'runtime/ops') diff --git a/runtime/ops/web_worker.rs b/runtime/ops/web_worker.rs index e62642fdd..bdf03d98f 100644 --- a/runtime/ops/web_worker.rs +++ b/runtime/ops/web_worker.rs @@ -6,6 +6,7 @@ use crate::web_worker::WebWorkerInternalHandle; use crate::web_worker::WebWorkerType; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::CancelFuture; use deno_core::OpState; @@ -27,10 +28,10 @@ deno_core::extension!( ], ); -#[op] +#[op2] fn op_worker_post_message( state: &mut OpState, - data: JsMessageData, + #[serde] data: JsMessageData, ) -> Result<(), AnyError> { let handle = state.borrow::().clone(); handle.port.send(state, data)?; @@ -52,7 +53,7 @@ async fn op_worker_recv_message( .await? } -#[op] +#[op2(fast)] fn op_worker_close(state: &mut OpState) { // Notify parent that we're finished let mut handle = state.borrow_mut::().clone(); @@ -60,7 +61,8 @@ fn op_worker_close(state: &mut OpState) { handle.terminate(); } -#[op] +#[op2] +#[serde] fn op_worker_get_type(state: &mut OpState) -> WebWorkerType { let handle = state.borrow::().clone(); handle.worker_type diff --git a/runtime/ops/worker_host.rs b/runtime/ops/worker_host.rs index 9bfbd9d10..002cc742a 100644 --- a/runtime/ops/worker_host.rs +++ b/runtime/ops/worker_host.rs @@ -13,7 +13,7 @@ use crate::web_worker::WorkerControlEvent; use crate::web_worker::WorkerId; use crate::worker::FormatJsErrorFn; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::serde::Deserialize; use deno_core::CancelFuture; use deno_core::CancelHandle; @@ -114,10 +114,11 @@ pub struct CreateWorkerArgs { } /// Create worker as the host -#[op] +#[op2] +#[serde] fn op_create_worker( state: &mut OpState, - args: CreateWorkerArgs, + #[serde] args: CreateWorkerArgs, ) -> Result { let specifier = args.specifier.clone(); let maybe_source_code = if args.has_source_code { @@ -221,8 +222,8 @@ fn op_create_worker( Ok(worker_id) } -#[op] -fn op_host_terminate_worker(state: &mut OpState, id: WorkerId) { +#[op2] +fn op_host_terminate_worker(state: &mut OpState, #[serde] id: WorkerId) { if let Some(worker_thread) = state.borrow_mut::().remove(&id) { worker_thread.terminate(); } else { @@ -271,10 +272,11 @@ fn close_channel( } /// Get control event from guest worker as host -#[op] +#[op2(async)] +#[serde] async fn op_host_recv_ctrl( state: Rc>, - id: WorkerId, + #[serde] id: WorkerId, ) -> Result { let (worker_handle, cancel_handle) = { let state = state.borrow(); @@ -313,10 +315,11 @@ async fn op_host_recv_ctrl( } } -#[op] +#[op2(async)] +#[serde] async fn op_host_recv_message( state: Rc>, - id: WorkerId, + #[serde] id: WorkerId, ) -> Result, AnyError> { let (worker_handle, cancel_handle) = { let s = state.borrow(); @@ -351,11 +354,11 @@ async fn op_host_recv_message( } /// Post message to guest worker as host -#[op] +#[op2] fn op_host_post_message( state: &mut OpState, - id: WorkerId, - data: JsMessageData, + #[serde] id: WorkerId, + #[serde] data: JsMessageData, ) -> Result<(), AnyError> { if let Some(worker_thread) = state.borrow::().get(&id) { debug!("post message to worker {}", id); -- cgit v1.2.3