diff options
Diffstat (limited to 'ext/net')
-rw-r--r-- | ext/net/lib.rs | 5 | ||||
-rw-r--r-- | ext/net/ops.rs | 34 | ||||
-rw-r--r-- | ext/net/ops_tls.rs | 19 |
3 files changed, 34 insertions, 24 deletions
diff --git a/ext/net/lib.rs b/ext/net/lib.rs index c9b888a65..84358210e 100644 --- a/ext/net/lib.rs +++ b/ext/net/lib.rs @@ -76,9 +76,6 @@ pub fn init<P: NetPermissions + 'static>( unstable: bool, unsafely_ignore_certificate_errors: Option<Vec<String>>, ) -> Extension { - let mut ops_to_register = vec![]; - ops_to_register.extend(ops::init::<P>()); - ops_to_register.extend(ops_tls::init::<P>()); Extension::builder() .js(include_js_files!( prefix "deno:ext/net", @@ -86,7 +83,7 @@ pub fn init<P: NetPermissions + 'static>( "02_tls.js", "04_net_unstable.js", )) - .ops(ops_to_register) + .ops([&ops::init::<P>()[..], &ops_tls::init::<P>()[..]].concat()) .state(move |state| { state.put(DefaultTlsOptions { root_cert_store: root_cert_store.clone(), diff --git a/ext/net/ops.rs b/ext/net/ops.rs index 682ba0acb..2c9129ebf 100644 --- a/ext/net/ops.rs +++ b/ext/net/ops.rs @@ -9,8 +9,8 @@ use deno_core::error::custom_error; use deno_core::error::generic_error; use deno_core::error::type_error; use deno_core::error::AnyError; -use deno_core::op_async; -use deno_core::op_sync; +use deno_core::op; + use deno_core::AsyncRefCell; use deno_core::ByteString; use deno_core::CancelHandle; @@ -52,14 +52,14 @@ use std::path::Path; pub fn init<P: NetPermissions + 'static>() -> Vec<OpPair> { vec![ - ("op_net_accept", op_async(op_net_accept)), - ("op_net_connect", op_async(op_net_connect::<P>)), - ("op_net_listen", op_sync(op_net_listen::<P>)), - ("op_dgram_recv", op_async(op_dgram_recv)), - ("op_dgram_send", op_async(op_dgram_send::<P>)), - ("op_dns_resolve", op_async(op_dns_resolve::<P>)), - ("op_set_nodelay", op_sync(op_set_nodelay::<P>)), - ("op_set_keepalive", op_sync(op_set_keepalive::<P>)), + op_net_accept::decl(), + op_net_connect::decl::<P>(), + op_net_listen::decl::<P>(), + op_dgram_recv::decl(), + op_dgram_send::decl::<P>(), + op_dns_resolve::decl::<P>(), + op_set_nodelay::decl::<P>(), + op_set_keepalive::decl::<P>(), ] } @@ -158,6 +158,7 @@ async fn accept_tcp( }) } +#[op] async fn op_net_accept( state: Rc<RefCell<OpState>>, args: AcceptArgs, @@ -210,6 +211,7 @@ async fn receive_udp( }) } +#[op] async fn op_dgram_recv( state: Rc<RefCell<OpState>>, args: ReceiveArgs, @@ -231,6 +233,7 @@ struct SendArgs { transport_args: ArgsEnum, } +#[op] async fn op_dgram_send<NP>( state: Rc<RefCell<OpState>>, args: SendArgs, @@ -299,6 +302,7 @@ pub struct ConnectArgs { transport_args: ArgsEnum, } +#[op] pub async fn op_net_connect<NP>( state: Rc<RefCell<OpState>>, args: ConnectArgs, @@ -474,6 +478,7 @@ fn listen_udp( Ok((rid, local_addr)) } +#[op] fn op_net_listen<NP>( state: &mut OpState, args: ListenArgs, @@ -613,6 +618,7 @@ pub struct NameServer { port: u16, } +#[op] pub async fn op_dns_resolve<NP>( state: Rc<RefCell<OpState>>, args: ResolveAddrArgs, @@ -681,6 +687,7 @@ where Ok(results) } +#[op] pub fn op_set_nodelay<NP>( state: &mut OpState, rid: ResourceId, @@ -692,6 +699,7 @@ pub fn op_set_nodelay<NP>( resource.set_nodelay(nodelay) } +#[op] pub fn op_set_keepalive<NP>( state: &mut OpState, rid: ResourceId, @@ -877,7 +885,7 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn tcp_set_no_delay() { let set_nodelay = Box::new(|state: &mut OpState, rid| { - op_set_nodelay::<TestPermission>(state, rid, true).unwrap(); + op_set_nodelay::call::<TestPermission>(state, rid, true).unwrap(); }); let test_fn = Box::new(|socket: SockRef| { assert!(socket.nodelay().unwrap()); @@ -889,7 +897,7 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn tcp_set_keepalive() { let set_keepalive = Box::new(|state: &mut OpState, rid| { - op_set_keepalive::<TestPermission>(state, rid, true).unwrap(); + op_set_keepalive::call::<TestPermission>(state, rid, true).unwrap(); }); let test_fn = Box::new(|socket: SockRef| { assert!(!socket.nodelay().unwrap()); @@ -934,7 +942,7 @@ mod tests { }; let connect_fut = - op_net_connect::<TestPermission>(conn_state, connect_args, ()); + op_net_connect::call::<TestPermission>(conn_state, connect_args, ()); let conn = connect_fut.await.unwrap(); let rid = conn.rid; diff --git a/ext/net/ops_tls.rs b/ext/net/ops_tls.rs index 01f29b2ad..6289d963f 100644 --- a/ext/net/ops_tls.rs +++ b/ext/net/ops_tls.rs @@ -25,8 +25,8 @@ use deno_core::futures::task::Poll; use deno_core::futures::task::RawWaker; use deno_core::futures::task::RawWakerVTable; use deno_core::futures::task::Waker; -use deno_core::op_async; -use deno_core::op_sync; +use deno_core::op; + use deno_core::parking_lot::Mutex; use deno_core::AsyncRefCell; use deno_core::AsyncResult; @@ -644,11 +644,11 @@ impl Write for ImplementWriteTrait<'_, TcpStream> { pub fn init<P: NetPermissions + 'static>() -> Vec<OpPair> { vec![ - ("op_tls_start", op_async(op_tls_start::<P>)), - ("op_tls_connect", op_async(op_tls_connect::<P>)), - ("op_tls_listen", op_sync(op_tls_listen::<P>)), - ("op_tls_accept", op_async(op_tls_accept)), - ("op_tls_handshake", op_async(op_tls_handshake)), + op_tls_start::decl::<P>(), + op_tls_connect::decl::<P>(), + op_tls_listen::decl::<P>(), + op_tls_accept::decl(), + op_tls_handshake::decl(), ] } @@ -765,6 +765,7 @@ pub struct StartTlsArgs { alpn_protocols: Option<Vec<String>>, } +#[op] pub async fn op_tls_start<NP>( state: Rc<RefCell<OpState>>, args: StartTlsArgs, @@ -857,6 +858,7 @@ where }) } +#[op] pub async fn op_tls_connect<NP>( state: Rc<RefCell<OpState>>, args: ConnectTlsArgs, @@ -1016,6 +1018,7 @@ pub struct ListenTlsArgs { alpn_protocols: Option<Vec<String>>, } +#[op] pub fn op_tls_listen<NP>( state: &mut OpState, args: ListenTlsArgs, @@ -1112,6 +1115,7 @@ where }) } +#[op] pub async fn op_tls_accept( state: Rc<RefCell<OpState>>, rid: ResourceId, @@ -1163,6 +1167,7 @@ pub async fn op_tls_accept( }) } +#[op] pub async fn op_tls_handshake( state: Rc<RefCell<OpState>>, rid: ResourceId, |