Dave Bakker
Dave Bakker
@tschneidereit You're correct in that it doesn't need to be part of the MVP. It currently isn't. @sunfishcode That's certainly the most pragmatic option. Let me start by saying that...
In https://github.com/WebAssembly/wasi-sockets/pull/13 I've added the option to get and set the `ipv6-only` option. In the documentation of the method I've clarified that dual-stack support is not required from the host.
Yeah, I was about to suggest something similar in response to #28. Preferably, our interface would be: ``` connect: func(tcp-socket, network, remote-address) -> ... listen: func(tcp-socket, network, local-address) -> ......
I don't know if it affects your conclusion at all, but Java's ServerSocket implementation calls `listen` as part of [bind](https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/java.base/share/classes/java/net/ServerSocket.java#L382), not [accept](https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/java.base/share/classes/java/net/ServerSocket.java#L551).
I'll reopen this as a reminder for myself to re-evaluate this in the future.
Another consideration when merging bind and listen at the WASI layer is: how to handle the `backlog` parameter passed to the `listen` wasi-libc call? It seems that you'd have to...
Maybe we can solve this entirely in libc. Suppose wasi-sockets provides only: - `listen: func(tcp-socket, network, local-address)` - `connect: func(tcp-socket, network, remote-address, option)` - and _no_ `bind` method. Then, by...
Could you please elaborate a bit more on what this would entail in the context of WASI? Both from the perspective of WASI embedders and WASI guest (toolchain) code.
I can't think of any problem that context/tag strings solve, that `network` handles doesn't already solve. Based on the example in your initial post, I think you're after named "preopens"...
> How do you do that with network handles? In the case of "named preopens", the programs gets passed in a set of network handles and the application code can...