[package] name = "tokio_wasi" # When releasing to crates.io: # - Remove path dependencies # - Update doc url # - README.md # - Update CHANGELOG.md. # - Create "v1.x.y" git tag. version = "1.25.2" edition = "2018" rust-version = "1.49" authors = ["Tokio Contributors "] license = "MIT" readme = "README.md" repository = "https://github.com/WasmEdge/tokio" homepage = "https://github.com/WasmEdge/tokio" description = """ An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications. """ categories = ["asynchronous", "network-programming"] keywords = ["io", "async", "non-blocking", "futures", "wasi"] [lib] name = "tokio" path = "src/lib.rs" [features] # Include nothing by default default = [] # enable everything full = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "sync", "time", ] fs = [] io-util = ["memchr", "bytes"] # stdin, stdout, stderr io-std = [] macros = ["tokio-macros"] net = [ "libc", "mio_wasi/os-poll", "mio_wasi/os-ext", "mio_wasi/net", "socket2", "wasmedge_wasi_socket", "windows-sys/Win32_Foundation", "windows-sys/Win32_Security", "windows-sys/Win32_Storage_FileSystem", "windows-sys/Win32_System_Pipes", "windows-sys/Win32_System_SystemServices", ] process = [ "bytes", "libc", "mio_wasi/os-poll", "mio_wasi/os-ext", "mio_wasi/net", "signal-hook-registry", "windows-sys/Win32_Foundation", "windows-sys/Win32_System_Threading", "windows-sys/Win32_System_WindowsProgramming", ] # Includes basic task execution capabilities rt = [] rt-multi-thread = [ "num_cpus", "rt", ] signal = [ "libc", "mio_wasi/os-poll", "mio_wasi/net", "mio_wasi/os-ext", "signal-hook-registry", "windows-sys/Win32_Foundation", "windows-sys/Win32_System_Console", ] sync = [] test-util = ["rt", "sync", "time"] time = [] # Technically, removing this is a breaking change even though it only ever did # anything with the unstable flag on. It is probably safe to get rid of it after # a few releases. stats = [] [build-dependencies] autocfg = "1.0" [dependencies] tokio-macros = { version = "1.7.0", optional = true } pin-project-lite = "0.2.0" # Everything else is optional... bytes = { version = "1.0.0", optional = true } memchr = { version = "2.2", optional = true } mio_wasi = {version="0.8", optional = true, features = ["wasmedge", "os-poll", "net"] } num_cpus = { version = "1.8.0", optional = true } parking_lot = { version = "0.12.0", optional = true } [target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies] socket2 = { version = "0.4.4", optional = true, features = [ "all" ] } [target.'cfg(target_os = "wasi")'.dependencies] wasmedge_wasi_socket = { version = "0.5", optional = true } # Currently unstable. The API exposed by these features may be broken at any time. # Requires `--cfg tokio_unstable` to enable. [target.'cfg(tokio_unstable)'.dependencies] tracing = { version = "0.1.25", default-features = false, features = ["std"], optional = true } # Not in full [target.'cfg(unix)'.dependencies] libc = { version = "0.2.42", optional = true } signal-hook-registry = { version = "1.1.1", optional = true } [target.'cfg(unix)'.dev-dependencies] libc = { version = "0.2.42" } nix = { version = "0.26", default-features = false, features = ["fs", "socket"] } [target.'cfg(windows)'.dependencies.windows-sys] version = "0.45" optional = true [target.'cfg(docsrs)'.dependencies.windows-sys] version = "0.45" features = [ "Win32_Foundation", "Win32_Security_Authorization", ] [target.'cfg(windows)'.dev-dependencies.ntapi] version = "0.3.6" [dev-dependencies] tokio-test = { version = "0.4.0"} tokio-stream = { version = "0.1"} futures = { version = "0.3.0", features = ["async-await"] } mockall = "0.11.1" tempfile = "3.1.0" async-stream = "0.3" [target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dev-dependencies] socket2 = "0.4" [target.'cfg(not(all(any(target_arch = "wasm32", target_arch = "wasm64"), target_os = "unknown")))'.dev-dependencies] rand = "0.8.0" [target.'cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"), not(target_os = "wasi")))'.dev-dependencies] wasm-bindgen-test = "0.3.0" [target.'cfg(target_os = "freebsd")'.dev-dependencies] mio-aio = { version = "0.7.0", features = ["tokio"] } [target.'cfg(loom)'.dev-dependencies] loom = { version = "0.5.2", features = ["futures", "checkpoint"] } [package.metadata.docs.rs] all-features = true # enable unstable features in the documentation rustdoc-args = ["--cfg", "docsrs", "--cfg", "tokio_unstable"] # it's necessary to _also_ pass `--cfg tokio_unstable` to rustc, or else # dependencies will not be enabled, and the docs build will fail. rustc-args = ["--cfg", "tokio_unstable"] [package.metadata.playground] features = ["full", "test-util"]