From 49f6e2e79e66fe2c456e8745e86cfd148a748c9d Mon Sep 17 00:00:00 2001 From: Asher Gomez Date: Mon, 8 Apr 2024 08:59:37 +1000 Subject: [PATCH] FUTURE(ext/net): remove `Deno.(Conn|TlsConn|Listener|TlsListener|UnixConn).prototype.rid` (#23219) Towards #23089 --------- Signed-off-by: Asher Gomez --- ext/net/01_net.js | 12 ++++++++ tests/specs/future/runtime_api/main.js | 41 +++++++++++++++++++++++++ tests/specs/future/runtime_api/main.out | 5 +++ 3 files changed, 58 insertions(+) diff --git a/ext/net/01_net.js b/ext/net/01_net.js index 81ff1a50d8..0b0dec4d16 100644 --- a/ext/net/01_net.js +++ b/ext/net/01_net.js @@ -100,6 +100,12 @@ class Conn { #writable; constructor(rid, remoteAddr, localAddr) { + if (internals.future) { + ObjectDefineProperty(this, "rid", { + enumerable: false, + value: undefined, + }); + } ObjectDefineProperty(this, internalRidSymbol, { enumerable: false, value: rid, @@ -260,6 +266,12 @@ class Listener { #promise = null; constructor(rid, addr) { + if (internals.future) { + ObjectDefineProperty(this, "rid", { + enumerable: false, + value: undefined, + }); + } ObjectDefineProperty(this, internalRidSymbol, { enumerable: false, value: rid, diff --git a/tests/specs/future/runtime_api/main.js b/tests/specs/future/runtime_api/main.js index db8e5fba8a..5308bb73aa 100644 --- a/tests/specs/future/runtime_api/main.js +++ b/tests/specs/future/runtime_api/main.js @@ -31,6 +31,47 @@ console.log("Deno.writeAllSync is", Deno.writeAllSync); console.log("Deno.write is", Deno.write); console.log("Deno.writeSync is", Deno.writeSync); +// TCP +// Since these tests may run in parallel, ensure this port is unique to this file +const tcpPort = 4509; +const tcpListener = Deno.listen({ port: tcpPort }); +console.log("Deno.Listener.prototype.rid is", tcpListener.rid); + +const tcpConn = await Deno.connect({ port: tcpPort }); +console.log("Deno.Conn.prototype.rid is", tcpConn.rid); + +tcpConn.close(); +tcpListener.close(); + +// Unix +if (Deno.build.os === "windows") { + console.log("Deno.UnixConn.prototype.rid is undefined"); +} else { + const socketPath = "./test.sock"; + const unixListener = Deno.listen({ transport: "unix", path: socketPath }); + + const unixConn = await Deno.connect({ transport: "unix", path: socketPath }); + console.log("Deno.UnixConn.prototype.rid is", unixConn.rid); + + unixConn.close(); + unixListener.close(); + Deno.removeSync(socketPath); +} + +// TLS +// Since these tests may run in parallel, ensure this port is unique to this file +const tlsPort = 4510; +const cert = Deno.readTextFileSync("../../../testdata/tls/localhost.crt"); +const key = Deno.readTextFileSync("../../../testdata/tls/localhost.key"); +const tlsListener = Deno.listenTls({ port: tlsPort, cert, key }); +console.log("Deno.TlsListener.prototype.rid is", tlsListener.rid); + +const tlsConn = await Deno.connectTls({ port: tlsPort }); +console.log("Deno.TlsConn.prototype.rid is", tlsConn.rid); + +tlsConn.close(); +tlsListener.close(); + const watcher = Deno.watchFs("."); console.log("Deno.FsWatcher.prototype.rid is", watcher.rid); watcher.close(); diff --git a/tests/specs/future/runtime_api/main.out b/tests/specs/future/runtime_api/main.out index 252e335123..8ecca657ff 100644 --- a/tests/specs/future/runtime_api/main.out +++ b/tests/specs/future/runtime_api/main.out @@ -27,5 +27,10 @@ Deno.writeAll is undefined Deno.writeAllSync is undefined Deno.write is undefined Deno.writeSync is undefined +Deno.Listener.prototype.rid is undefined +Deno.Conn.prototype.rid is undefined +Deno.UnixConn.prototype.rid is undefined +Deno.TlsListener.prototype.rid is undefined +Deno.TlsConn.prototype.rid is undefined Deno.FsWatcher.prototype.rid is undefined Deno.FsFile constructor is illegal