component model: async host function & embedding support
Based on #5065.
This PR adds the async suite of variations on Linker::wrap_func, Func::call, TypedFunc::call, and the various instantiate functions, for use in async Rust contexts.
This ends up being pretty simple: all of the async store machinery from core wasmtime is straightforward to reuse here.
I created a new test suite at tests/all/component_model/async.rs to smoke test the new functionality.
Subscribe to Label Action
cc @peterhuene
Thus the following users have been cc'd because of the following labels:
- peterhuene: wasmtime:api
To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.
I've double-checked bits and pieces internally and I think this should generally be good to go. I'm always somewhat wary of async since it's got unsafe underpinnings with fibers and whatnot but I'm at least for now confident enough in this that I'd be happy to merge.
Thanks! I just need to write some tests.
Subscribe to Label Action
cc @fitzgen
Thus the following users have been cc'd because of the following labels:
- fitzgen: fuzzing
To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.