[package] edition = "2018" name = "mio_wasi" # When releasing to crates.io: # - Update CHANGELOG.md. # - Create git tag version = "0.8.9" license = "MIT" authors = [ "Carl Lerche ", "Thomas de Zeeuw ", "Tokio Contributors ", "Tricster " ] description = "Lightweight non-blocking IO" homepage = "https://github.com/WasmEdge/mio" repository = "https://github.com/WasmEdge/mio" readme = "README.md" keywords = ["io", "async", "non-blocking", "wasi"] categories = ["asynchronous"] include = [ "Cargo.toml", "LICENSE", "README.md", "CHANGELOG.md", "src/**/*.rs", "examples/**/*.rs", ] [lib] name = "mio" path = "src/lib.rs" # For documentation of features see the `mio::features` module. [features] # By default Mio only provides a shell implementation. default = ["wasmedge", "os-poll", "net", "log"] # Enables the `Poll` and `Registry` types. os-poll = [] # Enables additional OS specific extensions, e.g. Unix `pipe(2)`. os-ext = [ "os-poll", "windows-sys/Win32_System_Pipes", "windows-sys/Win32_Security", ] # Enables `mio::net` module containing networking primitives. net = [] wasmedge = ["wasmedge_wasi_socket"] [dependencies] log = { version = "0.4.8", optional = true } [target.'cfg(unix)'.dependencies] libc = "0.2.121" [target.'cfg(windows)'.dependencies.windows-sys] version = "0.48" features = [ "Win32_Foundation", # Basic types eg HANDLE "Win32_Networking_WinSock", # winsock2 types/functions "Win32_Storage_FileSystem", # Enables NtCreateFile "Win32_System_IO", # IO types like OVERLAPPED etc "Win32_System_WindowsProgramming", # General future used for various types/funcs ] [target.'cfg(target_os = "wasi")'.dependencies] wasi = "0.11.0" libc = "0.2.121" wasmedge_wasi_socket = {version="0.5", optional = true, features = ["wasi_poll"]} [dev-dependencies] env_logger = { version = "0.9.3", default-features = false } rand = "0.8" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] targets = [ "aarch64-apple-ios", "aarch64-linux-android", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "x86_64-unknown-dragonfly", "x86_64-unknown-freebsd", "x86_64-unknown-illumos", "x86_64-unknown-linux-gnu", "x86_64-unknown-netbsd", "x86_64-unknown-openbsd", ] [package.metadata.playground] features = ["os-poll", "os-ext", "net"] [[example]] name = "tcp_server" required-features = ["os-poll", "net"] [[example]] name = "tcp_listenfd_server" required-features = ["os-poll", "net"] [[example]] name = "udp_server" required-features = ["os-poll", "net"]