summaryrefslogtreecommitdiff
path: root/ext/net/01_net.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/net/01_net.js')
-rw-r--r--ext/net/01_net.js62
1 files changed, 33 insertions, 29 deletions
diff --git a/ext/net/01_net.js b/ext/net/01_net.js
index c81ca61c5..0f9a65122 100644
--- a/ext/net/01_net.js
+++ b/ext/net/01_net.js
@@ -10,6 +10,23 @@ import {
} from "ext:deno_web/06_streams.js";
import * as abortSignal from "ext:deno_web/03_abort_signal.js";
import { SymbolDispose } from "ext:deno_web/00_infra.js";
+const {
+ op_dns_resolve,
+ op_net_accept_tcp,
+ op_net_accept_unix,
+ op_net_connect_tcp,
+ op_net_connect_unix,
+ op_net_recv_udp,
+ op_net_recv_unixpacket,
+ op_net_send_udp,
+ op_net_send_unixpacket,
+ op_net_set_multi_loopback_udp,
+ op_net_set_multi_ttl_udp,
+ op_net_join_multi_v4_udp,
+ op_net_join_multi_v6_udp,
+ op_net_leave_multi_v4_udp,
+ op_net_leave_multi_v6_udp,
+} = core.ensureFastOps();
const {
Error,
@@ -46,7 +63,7 @@ async function resolveDns(query, recordType, options) {
}
try {
- return await core.opAsync("op_dns_resolve", {
+ return await op_dns_resolve({
cancelRid,
query,
recordType,
@@ -200,10 +217,10 @@ class Listener {
let promise;
switch (this.addr.transport) {
case "tcp":
- promise = core.opAsync("op_net_accept_tcp", this.rid);
+ promise = op_net_accept_tcp(this.rid);
break;
case "unix":
- promise = core.opAsync("op_net_accept_unix", this.rid);
+ promise = op_net_accept_unix(this.rid);
break;
default:
throw new Error(`Unsupported transport: ${this.addr.transport}`);
@@ -294,8 +311,7 @@ class Datagram {
}
async joinMulticastV4(addr, multiInterface) {
- await core.opAsync(
- "op_net_join_multi_v4_udp",
+ await op_net_join_multi_v4_udp(
this.rid,
addr,
multiInterface,
@@ -303,22 +319,19 @@ class Datagram {
return {
leave: () =>
- core.opAsync(
- "op_net_leave_multi_v4_udp",
+ op_net_leave_multi_v4_udp(
this.rid,
addr,
multiInterface,
),
setLoopback: (loopback) =>
- core.opAsync(
- "op_net_set_multi_loopback_udp",
+ op_net_set_multi_loopback_udp(
this.rid,
true,
loopback,
),
setTTL: (ttl) =>
- core.opAsync(
- "op_net_set_multi_ttl_udp",
+ op_net_set_multi_ttl_udp(
this.rid,
ttl,
),
@@ -326,8 +339,7 @@ class Datagram {
}
async joinMulticastV6(addr, multiInterface) {
- await core.opAsync(
- "op_net_join_multi_v6_udp",
+ await op_net_join_multi_v6_udp(
this.rid,
addr,
multiInterface,
@@ -335,15 +347,13 @@ class Datagram {
return {
leave: () =>
- core.opAsync(
- "op_net_leave_multi_v6_udp",
+ op_net_leave_multi_v6_udp(
this.rid,
addr,
multiInterface,
),
setLoopback: (loopback) =>
- core.opAsync(
- "op_net_set_multi_loopback_udp",
+ op_net_set_multi_loopback_udp(
this.rid,
false,
loopback,
@@ -357,8 +367,7 @@ class Datagram {
let remoteAddr;
switch (this.addr.transport) {
case "udp": {
- ({ 0: nread, 1: remoteAddr } = await core.opAsync(
- "op_net_recv_udp",
+ ({ 0: nread, 1: remoteAddr } = await op_net_recv_udp(
this.rid,
buf,
));
@@ -367,8 +376,7 @@ class Datagram {
}
case "unixpacket": {
let path;
- ({ 0: nread, 1: path } = await core.opAsync(
- "op_net_recv_unixpacket",
+ ({ 0: nread, 1: path } = await op_net_recv_unixpacket(
this.rid,
buf,
));
@@ -385,15 +393,13 @@ class Datagram {
async send(p, opts) {
switch (this.addr.transport) {
case "udp":
- return await core.opAsync(
- "op_net_send_udp",
+ return await op_net_send_udp(
this.rid,
{ hostname: opts.hostname ?? "127.0.0.1", port: opts.port },
p,
);
case "unixpacket":
- return await core.opAsync(
- "op_net_send_unixpacket",
+ return await op_net_send_unixpacket(
this.rid,
opts.path,
p,
@@ -484,8 +490,7 @@ function createListenDatagram(udpOpFn, unixOpFn) {
async function connect(args) {
switch (args.transport ?? "tcp") {
case "tcp": {
- const { 0: rid, 1: localAddr, 2: remoteAddr } = await core.opAsync(
- "op_net_connect_tcp",
+ const { 0: rid, 1: localAddr, 2: remoteAddr } = await op_net_connect_tcp(
{
hostname: args.hostname ?? "127.0.0.1",
port: args.port,
@@ -496,8 +501,7 @@ async function connect(args) {
return new TcpConn(rid, remoteAddr, localAddr);
}
case "unix": {
- const { 0: rid, 1: localAddr, 2: remoteAddr } = await core.opAsync(
- "op_net_connect_unix",
+ const { 0: rid, 1: localAddr, 2: remoteAddr } = await op_net_connect_unix(
args.path,
);
return new UnixConn(