From 77545219a6d5c9d474032ea5e8ccfcd69897d76b Mon Sep 17 00:00:00 2001 From: Kermit Xuan Date: Sat, 13 Jun 2020 22:14:31 +0800 Subject: fix: DatagramConn.send should return bytes sent (#6265) --- cli/js/lib.deno.unstable.d.ts | 2 +- cli/js/net.ts | 7 ++++--- cli/js/ops/net.ts | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'cli/js') diff --git a/cli/js/lib.deno.unstable.d.ts b/cli/js/lib.deno.unstable.d.ts index dc50416fc..0a80eb2c6 100644 --- a/cli/js/lib.deno.unstable.d.ts +++ b/cli/js/lib.deno.unstable.d.ts @@ -988,7 +988,7 @@ declare namespace Deno { /** UNSTABLE: new API, yet to be vetted. * * Sends a message to the target. */ - send(p: Uint8Array, addr: Addr): Promise; + send(p: Uint8Array, addr: Addr): Promise; /** UNSTABLE: new API, yet to be vetted. * * Close closes the socket. Any pending message promises will be rejected diff --git a/cli/js/net.ts b/cli/js/net.ts index 2de44c2ac..b2ee7b6d3 100644 --- a/cli/js/net.ts +++ b/cli/js/net.ts @@ -10,7 +10,7 @@ export { ShutdownMode, shutdown, NetAddr, UnixAddr } from "./ops/net.ts"; export interface DatagramConn extends AsyncIterable<[Uint8Array, Addr]> { receive(p?: Uint8Array): Promise<[Uint8Array, Addr]>; - send(p: Uint8Array, addr: Addr): Promise; + send(p: Uint8Array, addr: Addr): Promise; close(): void; @@ -109,11 +109,12 @@ export class DatagramImpl implements DatagramConn { return [sub, remoteAddr]; } - async send(p: Uint8Array, addr: Addr): Promise { + async send(p: Uint8Array, addr: Addr): Promise { const remote = { hostname: "127.0.0.1", ...addr }; const args = { ...remote, rid: this.rid }; - await netOps.send(args as netOps.SendRequest, p); + const byteLength = await netOps.send(args as netOps.SendRequest, p); + return byteLength; } close(): void { diff --git a/cli/js/ops/net.ts b/cli/js/ops/net.ts index f2d272fe9..98ee71ff8 100644 --- a/cli/js/ops/net.ts +++ b/cli/js/ops/net.ts @@ -73,7 +73,7 @@ export function receive( transport: string, zeroCopy: Uint8Array ): Promise { - return sendAsync("op_receive", { rid, transport }, zeroCopy); + return sendAsync("op_datagram_receive", { rid, transport }, zeroCopy); } export type SendRequest = { @@ -83,6 +83,7 @@ export type SendRequest = { export async function send( args: SendRequest, zeroCopy: Uint8Array -): Promise { - await sendAsync("op_send", args, zeroCopy); +): Promise { + const byteLength = await sendAsync("op_datagram_send", args, zeroCopy); + return byteLength; } -- cgit v1.2.3