diff options
author | Yusuke Tanaka <yusuktan@maguro.dev> | 2020-12-30 10:19:28 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 20:19:28 -0500 |
commit | 92a8205d26f88cfa7b6f61fb2ca227feb77ecd17 (patch) | |
tree | 92c0babc71f3dd7a603866213683140d62f73bf8 /runtime/ops/net.rs | |
parent | 57b0562957f0887611526bf7e878ac34fdcd6393 (diff) |
refactor(runtime): return iterator from resolve_addr (#8891)
Diffstat (limited to 'runtime/ops/net.rs')
-rw-r--r-- | runtime/ops/net.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/runtime/ops/net.rs b/runtime/ops/net.rs index a4bda585b..1ff1e3511 100644 --- a/runtime/ops/net.rs +++ b/runtime/ops/net.rs @@ -202,7 +202,10 @@ async fn op_datagram_send( s.borrow::<Permissions>() .check_net(&args.hostname, args.port)?; } - let addr = resolve_addr(&args.hostname, args.port).await?; + let addr = resolve_addr(&args.hostname, args.port) + .await? + .next() + .ok_or_else(|| generic_error("No resolved address found"))?; let resource = state .borrow_mut() @@ -267,7 +270,10 @@ async fn op_connect( .borrow::<Permissions>() .check_net(&args.hostname, args.port)?; } - let addr = resolve_addr(&args.hostname, args.port).await?; + let addr = resolve_addr(&args.hostname, args.port) + .await? + .next() + .ok_or_else(|| generic_error("No resolved address found"))?; let tcp_stream = TcpStream::connect(&addr).await?; let local_addr = tcp_stream.local_addr()?; let remote_addr = tcp_stream.peer_addr()?; @@ -469,7 +475,9 @@ fn op_listen( } permissions.check_net(&args.hostname, args.port)?; } - let addr = resolve_addr_sync(&args.hostname, args.port)?; + let addr = resolve_addr_sync(&args.hostname, args.port)? + .next() + .ok_or_else(|| generic_error("No resolved address found"))?; let (rid, local_addr) = if transport == "tcp" { listen_tcp(state, addr)? } else { |