summaryrefslogtreecommitdiff
path: root/ext/net
diff options
context:
space:
mode:
Diffstat (limited to 'ext/net')
-rw-r--r--ext/net/lib.rs5
-rw-r--r--ext/net/ops.rs34
-rw-r--r--ext/net/ops_tls.rs19
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,