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 | |
parent | 2a1781afcb1d19aa02277233049fb7f260f4b03c (diff) |
refactor: rewrite BC, cache exts to op2 (#20486)
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
-rw-r--r-- | ext/broadcast_channel/lib.rs | 22 | ||||
-rw-r--r-- | ext/cache/lib.rs | 27 |
2 files changed, 27 insertions, 22 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, diff --git a/ext/cache/lib.rs b/ext/cache/lib.rs index 1459af8cb..553dd1ee6 100644 --- a/ext/cache/lib.rs +++ b/ext/cache/lib.rs @@ -8,6 +8,7 @@ use std::sync::Arc; use async_trait::async_trait; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::serde::Deserialize; use deno_core::serde::Serialize; use deno_core::ByteString; @@ -129,10 +130,10 @@ where cache.storage_open(cache_name).await } -#[op] +#[op2(async)] pub async fn op_cache_storage_has<CA>( state: Rc<RefCell<OpState>>, - cache_name: String, + #[string] cache_name: String, ) -> Result<bool, AnyError> where CA: Cache, @@ -141,10 +142,10 @@ where cache.storage_has(cache_name).await } -#[op] +#[op2(async)] pub async fn op_cache_storage_delete<CA>( state: Rc<RefCell<OpState>>, - cache_name: String, + #[string] cache_name: String, ) -> Result<bool, AnyError> where CA: Cache, @@ -153,10 +154,11 @@ where cache.storage_delete(cache_name).await } -#[op] +#[op2(async)] +#[smi] pub async fn op_cache_put<CA>( state: Rc<RefCell<OpState>>, - request_response: CachePutRequest, + #[serde] request_response: CachePutRequest, ) -> Result<Option<ResourceId>, AnyError> where CA: Cache, @@ -171,10 +173,10 @@ where } } -#[op] +#[op2(async)] pub async fn op_cache_put_finish<CA>( state: Rc<RefCell<OpState>>, - rid: ResourceId, + #[smi] rid: ResourceId, ) -> Result<(), AnyError> where CA: Cache, @@ -187,10 +189,11 @@ where cache.put_finish(resource).await } -#[op] +#[op2(async)] +#[serde] pub async fn op_cache_match<CA>( state: Rc<RefCell<OpState>>, - request: CacheMatchRequest, + #[serde] request: CacheMatchRequest, ) -> Result<Option<CacheMatchResponse>, AnyError> where CA: Cache, @@ -206,10 +209,10 @@ where } } -#[op] +#[op2(async)] pub async fn op_cache_delete<CA>( state: Rc<RefCell<OpState>>, - request: CacheDeleteRequest, + #[serde] request: CacheDeleteRequest, ) -> Result<bool, AnyError> where CA: Cache, |