Browse Source

wasi-cap-std-async is better named wasi-tokio

pull/2832/head
Pat Hickey 4 years ago
parent
commit
0127676621
  1. 22
      Cargo.lock
  2. 4
      Cargo.toml
  3. 2
      crates/wasi-common/tokio/Cargo.toml
  4. 0
      crates/wasi-common/tokio/src/lib.rs
  5. 4
      crates/wasi/Cargo.toml
  6. 8
      crates/wasi/src/lib.rs
  7. 2
      examples/tokio/main.rs

22
Cargo.lock

@ -3068,16 +3068,6 @@ version = "0.10.2+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
[[package]]
name = "wasi-cap-std-async"
version = "0.26.0"
dependencies = [
"tokio",
"wasi-cap-std-sync",
"wasi-common",
"wiggle",
]
[[package]]
name = "wasi-cap-std-sync"
version = "0.26.0"
@ -3144,6 +3134,16 @@ dependencies = [
"zeroize",
]
[[package]]
name = "wasi-tokio"
version = "0.26.0"
dependencies = [
"tokio",
"wasi-cap-std-sync",
"wasi-common",
"wiggle",
]
[[package]]
name = "wasm-encoder"
version = "0.4.1"
@ -3551,9 +3551,9 @@ name = "wasmtime-wasi"
version = "0.26.0"
dependencies = [
"anyhow",
"wasi-cap-std-async",
"wasi-cap-std-sync",
"wasi-common",
"wasi-tokio",
"wasmtime",
"wasmtime-wiggle",
"wiggle",

4
Cargo.toml

@ -79,7 +79,7 @@ members = [
"crates/wiggle/wasmtime",
"crates/wasi-common",
"crates/wasi-common/cap-std-sync",
"crates/wasi-common/cap-std-async",
"crates/wasi-common/tokio",
"examples/fib-debug/wasm",
"examples/wasi/wasm",
"examples/tokio/wasm",
@ -112,7 +112,7 @@ harness = false
[[example]]
name = "tokio"
required-features = ["wasmtime-wasi/async"]
required-features = ["wasmtime-wasi/tokio"]
[profile.dev.package.backtrace]
debug = false # FIXME(#1813)

2
crates/wasi-common/cap-std-async/Cargo.toml → crates/wasi-common/tokio/Cargo.toml

@ -1,5 +1,5 @@
[package]
name = "wasi-cap-std-async"
name = "wasi-tokio"
version = "0.26.0"
authors = ["The Wasmtime Project Developers"]
description = "WASI implementation in Rust"

0
crates/wasi-common/cap-std-async/src/lib.rs → crates/wasi-common/tokio/src/lib.rs

4
crates/wasi/Cargo.toml

@ -15,7 +15,7 @@ build = "build.rs"
[dependencies]
wasi-common = { path = "../wasi-common", version = "0.26.0" }
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "0.26.0", optional = true }
wasi-cap-std-async = { path = "../wasi-common/cap-std-async", version = "0.26.0", optional = true }
wasi-tokio = { path = "../wasi-common/tokio", version = "0.26.0", optional = true }
wiggle = { path = "../wiggle", default-features = false, version = "0.26.0" }
wasmtime-wiggle = { path = "../wiggle/wasmtime", default-features = false, version = "0.26.0" }
wasmtime = { path = "../wasmtime", default-features = false, version = "0.26.0" }
@ -24,4 +24,4 @@ anyhow = "1.0"
[features]
default = ["sync"]
sync = ["wasi-cap-std-sync"]
async = ["wasi-cap-std-async", "wasmtime/async", "wasmtime-wiggle/async"]
tokio = ["wasi-tokio", "wasmtime/async", "wasmtime-wiggle/async"]

8
crates/wasi/src/lib.rs

@ -18,11 +18,11 @@ pub mod sync {
super::define_wasi!(block_on);
}
/// Re-export the wasi-cap-std-async crate here. This saves consumers of this library from having
/// Re-export the wasi-tokio crate here. This saves consumers of this library from having
/// to keep additional dependencies in sync.
#[cfg(feature = "async")]
pub mod async_ {
pub use wasi_cap_std_async::*;
#[cfg(feature = "tokio")]
pub mod tokio {
pub use wasi_tokio::*;
super::define_wasi!(async);
}

2
examples/tokio/main.rs

@ -5,7 +5,7 @@ use wasmtime::{Config, Engine, Linker, Module, Store};
// For this example we want to use the async version of wasmtime_wasi.
// Notably, this version of wasi uses a scheduler that will async yield
// when sleeping in `poll_oneoff`.
use wasmtime_wasi::async_::{Wasi, WasiCtxBuilder};
use wasmtime_wasi::tokio::{Wasi, WasiCtxBuilder};
#[tokio::main]
async fn main() -> Result<(), Error> {

Loading…
Cancel
Save