diff options
Diffstat (limited to 'ext/node/ops/zlib')
-rw-r--r-- | ext/node/ops/zlib/brotli.rs | 32 | ||||
-rw-r--r-- | ext/node/ops/zlib/mod.rs | 25 |
2 files changed, 37 insertions, 20 deletions
diff --git a/ext/node/ops/zlib/brotli.rs b/ext/node/ops/zlib/brotli.rs index b4d970970..a5c0f0f92 100644 --- a/ext/node/ops/zlib/brotli.rs +++ b/ext/node/ops/zlib/brotli.rs @@ -8,6 +8,7 @@ use brotli::Decompressor; use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::JsBuffer; use deno_core::OpState; use deno_core::Resource; @@ -71,12 +72,13 @@ fn max_compressed_size(input_size: usize) -> usize { } } -#[op] +#[op2(async)] +#[serde] pub async fn op_brotli_compress_async( - input: JsBuffer, - quality: i32, - lgwin: i32, - mode: u32, + #[buffer] input: JsBuffer, + #[smi] quality: i32, + #[smi] lgwin: i32, + #[smi] mode: u32, ) -> Result<ToJsBuffer, AnyError> { tokio::task::spawn_blocking(move || { let in_buffer = input.as_ptr(); @@ -123,10 +125,11 @@ impl Drop for BrotliCompressCtx { } } -#[op] +#[op2] +#[smi] pub fn op_create_brotli_compress( state: &mut OpState, - params: Vec<(u8, i32)>, + #[serde] params: Vec<(u8, i32)>, ) -> u32 { let inst = // SAFETY: Creates a brotli encoder instance for default allocators. @@ -222,14 +225,18 @@ fn brotli_decompress(buffer: &[u8]) -> Result<ToJsBuffer, AnyError> { Ok(output.into()) } -#[op] -pub fn op_brotli_decompress(buffer: &[u8]) -> Result<ToJsBuffer, AnyError> { +#[op2] +#[serde] +pub fn op_brotli_decompress( + #[buffer] buffer: &[u8], +) -> Result<ToJsBuffer, AnyError> { brotli_decompress(buffer) } -#[op] +#[op2(async)] +#[serde] pub async fn op_brotli_decompress_async( - buffer: JsBuffer, + #[buffer] buffer: JsBuffer, ) -> Result<ToJsBuffer, AnyError> { tokio::task::spawn_blocking(move || brotli_decompress(&buffer)).await? } @@ -247,7 +254,8 @@ impl Drop for BrotliDecompressCtx { } } -#[op] +#[op2(fast)] +#[smi] pub fn op_create_brotli_decompress(state: &mut OpState) -> u32 { let inst = // SAFETY: TODO(littledivy) diff --git a/ext/node/ops/zlib/mod.rs b/ext/node/ops/zlib/mod.rs index 105666b06..0964bf050 100644 --- a/ext/node/ops/zlib/mod.rs +++ b/ext/node/ops/zlib/mod.rs @@ -4,6 +4,7 @@ use deno_core::error::bad_resource_id; use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::OpState; use libz_sys::*; use std::borrow::Cow; @@ -252,8 +253,12 @@ impl deno_core::Resource for Zlib { } } -#[op] -pub fn op_zlib_new(state: &mut OpState, mode: i32) -> Result<u32, AnyError> { +#[op2(fast)] +#[smi] +pub fn op_zlib_new( + state: &mut OpState, + #[smi] mode: i32, +) -> Result<u32, AnyError> { let mode = Mode::try_from(mode)?; let inner = ZlibInner { @@ -266,8 +271,11 @@ pub fn op_zlib_new(state: &mut OpState, mode: i32) -> Result<u32, AnyError> { })) } -#[op] -pub fn op_zlib_close(state: &mut OpState, handle: u32) -> Result<(), AnyError> { +#[op2(fast)] +pub fn op_zlib_close( + state: &mut OpState, + #[smi] handle: u32, +) -> Result<(), AnyError> { let resource = zlib(state, handle)?; let mut zlib = resource.inner.borrow_mut(); @@ -382,10 +390,11 @@ pub fn op_zlib_init( Ok(zlib.err) } -#[op] +#[op2(fast)] +#[smi] pub fn op_zlib_reset( state: &mut OpState, - handle: u32, + #[smi] handle: u32, ) -> Result<i32, AnyError> { let resource = zlib(state, handle)?; @@ -395,10 +404,10 @@ pub fn op_zlib_reset( Ok(zlib.err) } -#[op] +#[op2(fast)] pub fn op_zlib_close_if_pending( state: &mut OpState, - handle: u32, + #[smi] handle: u32, ) -> Result<(), AnyError> { let resource = zlib(state, handle)?; let pending_close = { |