From 97bb2bdb79cbd0a400c643e7be0029440cb15633 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Fri, 20 Sep 2019 18:32:18 -0400 Subject: dial/listen API change (#3000) Previously: dial("tcp", "deno.land:80") Now: dial({ hostname: "deno.land", port: 80, transport: "tcp" }) Similarly with listen(). --- cli/ops/net.rs | 25 +++++++++++++++---------- cli/tests/echo_server.ts | 3 ++- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'cli') diff --git a/cli/ops/net.rs b/cli/ops/net.rs index 11bf410d1..507eff504 100644 --- a/cli/ops/net.rs +++ b/cli/ops/net.rs @@ -49,8 +49,9 @@ pub fn op_accept( #[derive(Deserialize)] struct DialArgs { - network: String, - address: String, + transport: String, + hostname: String, + port: u16, } pub fn op_dial( @@ -59,9 +60,11 @@ pub fn op_dial( _zero_copy: Option, ) -> Result { let args: DialArgs = serde_json::from_value(args)?; - let network = args.network; - assert_eq!(network, "tcp"); // TODO Support others. - let address = args.address; + assert_eq!(args.transport, "tcp"); // TODO Support others. + + // TODO(ry) Using format! is suboptimal here. Better would be if + // state.check_net and resolve_addr() took hostname and port directly. + let address = format!("{}:{}", args.hostname, args.port); state.check_net(&address)?; @@ -117,8 +120,9 @@ pub fn op_shutdown( #[derive(Deserialize)] struct ListenArgs { - network: String, - address: String, + transport: String, + hostname: String, + port: u16, } pub fn op_listen( @@ -127,10 +131,11 @@ pub fn op_listen( _zero_copy: Option, ) -> Result { let args: ListenArgs = serde_json::from_value(args)?; + assert_eq!(args.transport, "tcp"); - let network = args.network; - assert_eq!(network, "tcp"); - let address = args.address; + // TODO(ry) Using format! is suboptimal here. Better would be if + // state.check_net and resolve_addr() took hostname and port directly. + let address = format!("{}:{}", args.hostname, args.port); state.check_net(&address)?; diff --git a/cli/tests/echo_server.ts b/cli/tests/echo_server.ts index 73995eab5..82ee1fdab 100644 --- a/cli/tests/echo_server.ts +++ b/cli/tests/echo_server.ts @@ -1,6 +1,7 @@ const { args, listen, copy } = Deno; const addr = args[1] || "127.0.0.1:4544"; -const listener = listen("tcp", addr); +const [hostname, port] = addr.split(":"); +const listener = listen({ hostname, port: Number(port) }); console.log("listening on", addr); listener.accept().then( async (conn): Promise => { -- cgit v1.2.3