summaryrefslogtreecommitdiff
path: root/runtime/ops/net.rs
diff options
context:
space:
mode:
authorYusuke Tanaka <yusuktan@maguro.dev>2020-12-30 10:19:28 +0900
committerGitHub <noreply@github.com>2020-12-29 20:19:28 -0500
commit92a8205d26f88cfa7b6f61fb2ca227feb77ecd17 (patch)
tree92c0babc71f3dd7a603866213683140d62f73bf8 /runtime/ops/net.rs
parent57b0562957f0887611526bf7e878ac34fdcd6393 (diff)
refactor(runtime): return iterator from resolve_addr (#8891)
Diffstat (limited to 'runtime/ops/net.rs')
-rw-r--r--runtime/ops/net.rs14
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 {