diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-09-20 04:39:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-19 20:39:27 -0600 |
commit | d77f3fba03abef07bf7aa7b83f86d6e99077f4b4 (patch) | |
tree | 7152469e3561660baa71743fc51e7640c21a88c8 /ext/broadcast_channel/lib.rs | |
parent | 2a1781afcb1d19aa02277233049fb7f260f4b03c (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.rs | 22 |
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, |