summaryrefslogtreecommitdiff
path: root/ext/broadcast_channel/lib.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-09-20 04:39:27 +0200
committerGitHub <noreply@github.com>2023-09-19 20:39:27 -0600
commitd77f3fba03abef07bf7aa7b83f86d6e99077f4b4 (patch)
tree7152469e3561660baa71743fc51e7640c21a88c8 /ext/broadcast_channel/lib.rs
parent2a1781afcb1d19aa02277233049fb7f260f4b03c (diff)
refactor: rewrite BC, cache exts to op2 (#20486)
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
Diffstat (limited to 'ext/broadcast_channel/lib.rs')
-rw-r--r--ext/broadcast_channel/lib.rs22
1 files changed, 12 insertions, 10 deletions
diff --git a/ext/broadcast_channel/lib.rs b/ext/broadcast_channel/lib.rs
index 56ce4b3bd..6ee10f9c0 100644
--- a/ext/broadcast_channel/lib.rs
+++ b/ext/broadcast_channel/lib.rs
@@ -11,7 +11,7 @@ use std::rc::Rc;
use async_trait::async_trait;
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;
@@ -42,7 +42,8 @@ pub type Message = (String, Vec<u8>);
struct Unstable(bool); // --unstable
-#[op]
+#[op2(fast)]
+#[smi]
pub fn op_broadcast_subscribe<BC>(
state: &mut OpState,
) -> Result<ResourceId, AnyError>
@@ -63,10 +64,10 @@ where
Ok(state.resource_table.add(resource))
}
-#[op]
+#[op2(fast)]
pub fn op_broadcast_unsubscribe<BC>(
state: &mut OpState,
- rid: ResourceId,
+ #[smi] rid: ResourceId,
) -> Result<(), AnyError>
where
BC: BroadcastChannel + 'static,
@@ -76,12 +77,12 @@ where
bc.unsubscribe(&resource)
}
-#[op]
+#[op2(async)]
pub async fn op_broadcast_send<BC>(
state: Rc<RefCell<OpState>>,
- rid: ResourceId,
- name: String,
- buf: JsBuffer,
+ #[smi] rid: ResourceId,
+ #[string] name: String,
+ #[buffer] buf: JsBuffer,
) -> Result<(), AnyError>
where
BC: BroadcastChannel + 'static,
@@ -91,10 +92,11 @@ where
bc.send(&resource, name, buf.to_vec()).await
}
-#[op]
+#[op2(async)]
+#[serde]
pub async fn op_broadcast_recv<BC>(
state: Rc<RefCell<OpState>>,
- rid: ResourceId,
+ #[smi] rid: ResourceId,
) -> Result<Option<Message>, AnyError>
where
BC: BroadcastChannel + 'static,