WebAssembly / WebAssembly/WASI
Preopens
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 333
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 3
Description
In the last WASI meeting the subject of socket preopens came up, and how to handle them in preview2.
pchickey noted that he has been asking around if they're actually in use anywhere. So far without result.
Me myself I've found exactly one usage so far:
There's unofficial WASI support for .NET. Even though they make use of preopens, it appears they don't actually want to.
Other uses of sockets in Wasm mostly seem based on home-grown solutions. For example Docker has native Wasm support in preview. Networking capabilities are provided through WasmEdge's non-standard socket extensions. They do not make use of preopens. Similar story for Wasmer.
First off: If you make use of preview1 sockets, please let us know!
Second, Dan noted that SystemD's socket activation could be a valid use case for socket preopens.
CC @dicej
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the preview2 socket-preopen discussion and the linked .NET, Docker, WasmEdge, Wasmer, and systemd examples. Confirm whether any preview1 socket users rely on preopens, then document the use cases and reach a decision for preview2 handling; the issue provides no implementation file or test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- wasm
- Domain
- networking, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100