diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-09-21 16:08:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-21 08:08:23 -0600 |
commit | 142449ecab20006c5cfd15462814650596bc034d (patch) | |
tree | b4e796585f870fbf0b1ebe696a474abb1a09d2ac /runtime | |
parent | cf6f649829fbb0562681bc9db0c4c1261d4a40b1 (diff) |
refactor: rewrite some ops to op2 macro (#20603)
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/examples/extension_with_ops/main.rs | 6 | ||||
-rw-r--r-- | runtime/ops/http.rs | 13 | ||||
-rw-r--r-- | runtime/ops/os/mod.rs | 16 | ||||
-rw-r--r-- | runtime/ops/tty.rs | 5 | ||||
-rw-r--r-- | runtime/ops/web_worker/sync_fetch.rs | 7 |
5 files changed, 24 insertions, 23 deletions
diff --git a/runtime/examples/extension_with_ops/main.rs b/runtime/examples/extension_with_ops/main.rs index 1feb4ba27..2ef562ec9 100644 --- a/runtime/examples/extension_with_ops/main.rs +++ b/runtime/examples/extension_with_ops/main.rs @@ -4,7 +4,7 @@ use std::path::Path; use std::rc::Rc; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::FsModuleLoader; use deno_core::ModuleSpecifier; use deno_runtime::permissions::PermissionsContainer; @@ -13,8 +13,8 @@ use deno_runtime::worker::WorkerOptions; deno_core::extension!(hello_runtime, ops = [op_hello]); -#[op] -fn op_hello(text: &str) { +#[op2(fast)] +fn op_hello(#[string] text: &str) { println!("Hello {}!", text); } diff --git a/runtime/ops/http.rs b/runtime/ops/http.rs index 35e181d3e..07757850c 100644 --- a/runtime/ops/http.rs +++ b/runtime/ops/http.rs @@ -7,7 +7,7 @@ use deno_core::error::bad_resource; use deno_core::error::bad_resource_id; use deno_core::error::custom_error; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::OpState; use deno_core::RcRef; use deno_core::ResourceId; @@ -32,10 +32,11 @@ deno_core::extension!( ops = [op_http_start, op_http_upgrade], ); -#[op] +#[op2(fast)] +#[smi] fn op_http_start( state: &mut OpState, - tcp_stream_rid: ResourceId, + #[smi] tcp_stream_rid: ResourceId, ) -> Result<ResourceId, AnyError> { if let Ok(resource_rc) = state .resource_table @@ -96,11 +97,11 @@ pub struct HttpUpgradeResult { read_buf: ToJsBuffer, } -#[op] +#[op2(async)] +#[serde] async fn op_http_upgrade( state: Rc<RefCell<OpState>>, - rid: ResourceId, - _: (), + #[smi] rid: ResourceId, ) -> Result<HttpUpgradeResult, AnyError> { let stream = state .borrow_mut() diff --git a/runtime/ops/os/mod.rs b/runtime/ops/os/mod.rs index 80f37514f..166ccb867 100644 --- a/runtime/ops/os/mod.rs +++ b/runtime/ops/os/mod.rs @@ -250,9 +250,9 @@ fn op_system_memory_info( Ok(sys_info::mem_info()) } -// TODO(bartlomieju): op2 doesn't support cfg attrs #[cfg(not(windows))] -#[op] +#[op2] +#[smi] fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> { state .borrow_mut::<PermissionsContainer>() @@ -264,9 +264,9 @@ fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> { } } -// TODO(bartlomieju): op2 doesn't support cfg attrs #[cfg(windows)] -#[op] +#[op2] +#[smi] fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> { state .borrow_mut::<PermissionsContainer>() @@ -274,9 +274,9 @@ fn op_gid(state: &mut OpState) -> Result<Option<u32>, AnyError> { Ok(None) } -// TODO(bartlomieju): op2 doesn't support cfg attrs #[cfg(not(windows))] -#[op] +#[op2] +#[smi] fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> { state .borrow_mut::<PermissionsContainer>() @@ -288,9 +288,9 @@ fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> { } } -// TODO(bartlomieju): op2 doesn't support cfg attrs #[cfg(windows)] -#[op] +#[op2] +#[smi] fn op_uid(state: &mut OpState) -> Result<Option<u32>, AnyError> { state .borrow_mut::<PermissionsContainer>() diff --git a/runtime/ops/tty.rs b/runtime/ops/tty.rs index 07a7a0b73..8157a4517 100644 --- a/runtime/ops/tty.rs +++ b/runtime/ops/tty.rs @@ -4,7 +4,6 @@ use std::io::Error; use std::io::IsTerminal; use deno_core::error::AnyError; -use deno_core::op; use deno_core::op2; use deno_core::OpState; use deno_core::ResourceHandle; @@ -188,10 +187,10 @@ fn op_isatty(state: &mut OpState, rid: u32) -> Result<bool, AnyError> { }) } -#[op(fast)] +#[op2(fast)] fn op_console_size( state: &mut OpState, - result: &mut [u32], + #[buffer] result: &mut [u32], ) -> Result<(), AnyError> { fn check_console_size( state: &mut OpState, diff --git a/runtime/ops/web_worker/sync_fetch.rs b/runtime/ops/web_worker/sync_fetch.rs index 4d2f4ca5a..ec79118b2 100644 --- a/runtime/ops/web_worker/sync_fetch.rs +++ b/runtime/ops/web_worker/sync_fetch.rs @@ -6,7 +6,7 @@ use crate::web_worker::WebWorkerInternalHandle; use crate::web_worker::WebWorkerType; use deno_core::error::type_error; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::url::Url; use deno_core::OpState; use deno_fetch::data_url::DataUrl; @@ -33,10 +33,11 @@ pub struct SyncFetchScript { script: String, } -#[op] +#[op2] +#[serde] pub fn op_worker_sync_fetch( state: &mut OpState, - scripts: Vec<String>, + #[serde] scripts: Vec<String>, mut loose_mime_checks: bool, ) -> Result<Vec<SyncFetchScript>, AnyError> { let handle = state.borrow::<WebWorkerInternalHandle>().clone(); |