Commit 5ed2436
Add async call stacks to the public API, use it in
* Enable reflection on component async call stacks
This commit adds a few new APIs to the surface area of the `wasmtime`
crate as well as reorganizes some internals. Namely:
* `StoreContextMut::async_call_stack` - yields an `Iterator` of the call
stack of async tasks in the component model to understand the current
call graph.
* `{Typed,}Func::{start,finish}_call_concurrent` - these new APIs allow
splitting apart the previous `call_concurrent` function into discrete
steps to learn about the task being created, notably the
`GuestTaskId`. The previous `call_concurrent` is reimplemented in
terms of these functions.
* Methods requiring the `component-model-async` Cargo feature are now
under the `concurrent` module in `wasmtime` to cut down on `#[cfg]`
required.
This is all intended to address the concerns of WebAssembly/WASI#918,
WebAssembly/WASI#919, and WebAssembly/WASI#920. This isn't plumbed into
wasi-http yet, but that'll come as a
* Thread request IDs through `wasi:http` handling
This commit uses the previous commit to connect a generic, host-defined,
request ID and provide a strong connection to the `GuestTaskId` that's
being used to serve that request. This can be used by `wasi:http`
handlers to provide a strong correlation between outgoing requests, for
example, and incoming requests.
* Update expansion tests
* Update crates/wasmtime/src/runtime/component/concurrent/func.rs
Co-authored-by: Joel Dice <joel.dice@akamai.com>
* Fix doc links
---------
Co-authored-by: Joel Dice <joel.dice@akamai.com>wasi:http (bytecodealliance#13510)1 parent 1f0294d commit 5ed2436
93 files changed
Lines changed: 7866 additions & 4145 deletions
File tree
- crates
- component-macro/tests/expanded
- wasi-http/src
- wasmtime/src/runtime/component
- concurrent
- func
- wit-bindgen/src
- src/commands
- tests/all/component_model
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 22 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 22 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments