summaryrefslogtreecommitdiff
path: root/cli/ops/net.rs
diff options
context:
space:
mode:
authorNayeem Rahman <muhammed.9939@gmail.com>2020-03-10 19:14:22 +0000
committerGitHub <noreply@github.com>2020-03-10 15:14:22 -0400
commit55119aaee2e5fec8074373ef51b56d5095da1faf (patch)
treec1ad9bc7526ffa0941df4c552e0ddf113beac9df /cli/ops/net.rs
parent8078d976d29aa12819e3f5a781c846d67868b0d6 (diff)
refactor(cli/js/net): Cleanup iterable APIs (#4236)
Listener and UDPConn are AsyncIterables instead of AsyncIterators. The [Symbol.asyncIterator]()s are defined as generators and the next() methods are gone. "Listener/Socket has been closed" errors are now BadResource.
Diffstat (limited to 'cli/ops/net.rs')
-rw-r--r--cli/ops/net.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/cli/ops/net.rs b/cli/ops/net.rs
index 50d6b3713..d8dd9b3c9 100644
--- a/cli/ops/net.rs
+++ b/cli/ops/net.rs
@@ -56,7 +56,7 @@ fn op_accept(
let listener_resource = resource_table
.get_mut::<TcpListenerResource>(rid)
.ok_or_else(|| {
- OpError::other("Listener has been closed".to_string())
+ OpError::bad_resource("Listener has been closed".to_string())
})?;
let listener = &mut listener_resource.listener;
match listener.poll_accept(cx).map_err(OpError::from) {
@@ -122,7 +122,9 @@ fn op_receive(
let resource_table = &mut state_.borrow_mut().resource_table;
let resource = resource_table
.get_mut::<UdpSocketResource>(rid)
- .ok_or_else(|| OpError::other("Socket has been closed".to_string()))?;
+ .ok_or_else(|| {
+ OpError::bad_resource("Socket has been closed".to_string())
+ })?;
let socket = &mut resource.socket;
socket.poll_recv_from(cx, &mut buf).map_err(OpError::from)
});
@@ -168,7 +170,9 @@ fn op_send(
let resource = state
.resource_table
.get_mut::<UdpSocketResource>(rid)
- .ok_or_else(|| OpError::other("Socket has been closed".to_string()))?;
+ .ok_or_else(|| {
+ OpError::bad_resource("Socket has been closed".to_string())
+ })?;
let socket = &mut resource.socket;
let addr = resolve_addr(&args.hostname, args.port).await?;