From 55119aaee2e5fec8074373ef51b56d5095da1faf Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Tue, 10 Mar 2020 19:14:22 +0000 Subject: 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. --- cli/ops/net.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'cli/ops/net.rs') 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::(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::(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::(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?; -- cgit v1.2.3