From ea28a088a473083cb759a3264235005a25450cbc Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Tue, 28 Apr 2020 15:17:55 -0400 Subject: Remove Conn.closeRead (#4970) --- cli/js/lib.deno.ns.d.ts | 9 ++++--- cli/js/net.ts | 5 ---- cli/js/tests/net_test.ts | 69 ------------------------------------------------ 3 files changed, 5 insertions(+), 78 deletions(-) (limited to 'cli/js') 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 @@ -368,75 +368,6 @@ unitTest( } ); -unitTest( - { - // FIXME(bartlomieju) - 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) -- cgit v1.2.3