summaryrefslogtreecommitdiff
path: root/ext/node/ops/zlib
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/ops/zlib')
-rw-r--r--ext/node/ops/zlib/brotli.rs32
-rw-r--r--ext/node/ops/zlib/mod.rs25
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 = {