Open sunfishcode opened 1 year ago
Everything I've read here seems well thought out. I also appreciate that documentation has started to commence. Many thanks!
For anyone following the stream API's link, it's under the wit folder https://github.com/WebAssembly/wasi-io/blob/main/wit/wasi-io.wit.md
When we can expect wasi-http
support websocket
?
To provide a little more background on my roadmap agenda item, I'd like to propose a rough framework for a future Preview3, and beyond that, a WASI 1.0.
Preview2 is rebasing WASI on the wit IDL, which fixes a lot of long-standing open problems that WASI has. However, there is a major feature planned to be included in wit that isn't ready yet: integrated async. Specifically, this is the
stream
andfuture
types.For Preview2 we're developing temporary stream APIs that we can use in place of the
stream
keyword. However, a built instream
type would have many advantages, including idiomatic and efficient source language buildings for async streaming, and composition of async work across components.So I propose we think of the big theme of Preview3 to be adding APIs that use the
stream
andfuture
type. We can also add features and incorporate implementation feedback, but async would be the big story.After that, I expect we'll have enough of a foundation in place that it makes sense for WASI to move out of "preview" mode and start conversations with the Wasm CG about producing a WASI 1.0 standard. Again, we could add new features and incorporate implementation feedback, but here, the big story would just be standardization.
How does this overall framework sound?
[edit: updated the wasi-io.wit.md link, thanks @ricochet for pointing that out!]