summaryrefslogtreecommitdiff
path: root/cli/js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js')
-rw-r--r--cli/js/lib.deno.ns.d.ts9
-rw-r--r--cli/js/net.ts5
-rw-r--r--cli/js/tests/net_test.ts69
3 files changed, 5 insertions, 78 deletions
diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts
index b73ad4c20..db89ed97f 100644
--- a/cli/js/lib.deno.ns.d.ts
+++ b/cli/js/lib.deno.ns.d.ts
@@ -1899,11 +1899,12 @@ declare namespace Deno {
readonly remoteAddr: Addr;
/** The resource ID of the connection. */
readonly rid: number;
- /** Shuts down (`shutdown(2)`) the reading side of the TCP connection. Most
- * callers should just use `close()`. */
- closeRead(): void;
/** Shuts down (`shutdown(2)`) the writing side of the TCP connection. Most
- * callers should just use `close()`. */
+ * callers should just use `close()`.
+ *
+ * **Unstable** because of lack of testing and because Deno.shutdown is also
+ * unstable.
+ * */
closeWrite(): void;
}
diff --git a/cli/js/net.ts b/cli/js/net.ts
index 3ca1219e6..05503b232 100644
--- a/cli/js/net.ts
+++ b/cli/js/net.ts
@@ -48,10 +48,6 @@ export class ConnImpl implements Conn {
close(this.rid);
}
- closeRead(): void {
- netOps.shutdown(this.rid, netOps.ShutdownMode.Read);
- }
-
closeWrite(): void {
netOps.shutdown(this.rid, netOps.ShutdownMode.Write);
}
@@ -130,7 +126,6 @@ export interface Conn extends Reader, Writer, Closer {
localAddr: Addr;
remoteAddr: Addr;
rid: number;
- closeRead(): void;
closeWrite(): void;
}
diff --git a/cli/js/tests/net_test.ts b/cli/js/tests/net_test.ts
index ef3cd833d..fc1802792 100644
--- a/cli/js/tests/net_test.ts
+++ b/cli/js/tests/net_test.ts
@@ -374,75 +374,6 @@ unitTest(
ignore: true,
perms: { net: true },
},
- async function netCloseReadSuccess() {
- const addr = { hostname: "127.0.0.1", port: 4500 };
- const listener = Deno.listen(addr);
- const closeDeferred = createResolvable();
- const closeReadDeferred = createResolvable();
- listener.accept().then(async (conn) => {
- await closeReadDeferred;
- await conn.write(new Uint8Array([1, 2, 3]));
- const buf = new Uint8Array(1024);
- const readResult = await conn.read(buf);
- assertEquals(3, readResult);
- assertEquals(4, buf[0]);
- assertEquals(5, buf[1]);
- assertEquals(6, buf[2]);
- conn.close();
- closeDeferred.resolve();
- });
- const conn = await Deno.connect(addr);
- conn.closeRead(); // closing read
- closeReadDeferred.resolve();
- const buf = new Uint8Array(1024);
- const readResult = await conn.read(buf);
- assertEquals(readResult, null); // with immediate EOF
- // Ensure closeRead does not impact write
- await conn.write(new Uint8Array([4, 5, 6]));
- await closeDeferred;
- listener.close();
- conn.close();
- }
-);
-
-unitTest(
- {
- // FIXME(bartlomieju)
- ignore: true,
- perms: { net: true },
- },
- async function netDoubleCloseRead() {
- const addr = { hostname: "127.0.0.1", port: 4500 };
- const listener = Deno.listen(addr);
- const closeDeferred = createResolvable();
- listener.accept().then(async (conn) => {
- await conn.write(new Uint8Array([1, 2, 3]));
- await closeDeferred;
- conn.close();
- });
- const conn = await Deno.connect(addr);
- conn.closeRead(); // closing read
- let err;
- try {
- // Duplicated close should throw error
- conn.closeRead();
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assert(err instanceof Deno.errors.NotConnected);
- closeDeferred.resolve();
- listener.close();
- conn.close();
- }
-);
-
-unitTest(
- {
- // FIXME(bartlomieju)
- ignore: true,
- perms: { net: true },
- },
async function netCloseWriteSuccess() {
const addr = { hostname: "127.0.0.1", port: 4500 };
const listener = Deno.listen(addr);