This adds support for loading, compiling, linking, and running components which use the Async ABI along with the stream, future, and error-context types. It also adds support for generating host bindings such that multiple host functions can be run concurrently with guest tasks -- without monopolizing the Store.
This adds support for loading, compiling, linking, and running components which use the Async ABI along with the
stream
,future
, anderror-context
types. It also adds support for generating host bindings such that multiple host functions can be run concurrently with guest tasks -- without monopolizing theStore
.See the implementation RFC for details, as well as this repo containing end-to-end smoke tests.
This is very much a work-in progress, with a number of tasks remaining:
task.return
type during compilation and assert the actual and expected types match at runtime{stream|future}.cancel-{read|write}
anderror-context.{new|debug-string}
(Typed)Func::call_concurrent
per the RFCwasmtime_cranelift::compiler::component
StoreContextMut::on_fiber
andconcurrent::on_fiber
wasm-tools
once https://github.com/bytecodealliance/wasm-tools/pull/1895 has been merged and released