| [package] |
| name = "tokio" |
| # When releasing to crates.io: |
| # - Remove path dependencies |
| # - Update doc url |
| # - README.md |
| # - Update CHANGELOG.md. |
| # - Create "v1.x.y" git tag. |
| version = "1.32.0" |
| edition = "2021" |
| rust-version = "1.63" |
| authors = ["Tokio Contributors <team@tokio.rs>"] |
| license = "MIT" |
| readme = "README.md" |
| repository = "https://github.com/tokio-rs/tokio" |
| homepage = "https://tokio.rs" |
| 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"] |
| |
| [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 = ["bytes"] |
| # stdin, stdout, stderr |
| io-std = [] |
| macros = ["tokio-macros"] |
| net = [ |
| "libc", |
| "mio/os-poll", |
| "mio/os-ext", |
| "mio/net", |
| "socket2", |
| "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/os-poll", |
| "mio/os-ext", |
| "mio/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/os-poll", |
| "mio/net", |
| "mio/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 = [] |
| |
| [dependencies] |
| tokio-macros = { version = "~2.1.0", path = "../tokio-macros", optional = true } |
| |
| pin-project-lite = "0.2.11" |
| |
| # Everything else is optional... |
| bytes = { version = "1.0.0", optional = true } |
| mio = { version = "0.8.6", optional = true, default-features = false } |
| num_cpus = { version = "1.8.0", optional = true } |
| parking_lot = { version = "0.12.0", optional = true } |
| |
| [target.'cfg(not(target_family = "wasm"))'.dependencies] |
| socket2 = { version = "0.5.3", optional = true, features = [ "all" ] } |
| |
| # 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 |
| |
| # Currently unstable. The API exposed by these features may be broken at any time. |
| # Requires `--cfg tokio_unstable` to enable. |
| [target.'cfg(tokio_taskdump)'.dependencies] |
| backtrace = { version = "0.3.58" } |
| |
| [target.'cfg(unix)'.dependencies] |
| libc = { version = "0.2.145", optional = true } |
| signal-hook-registry = { version = "1.1.1", optional = true } |
| |
| [target.'cfg(unix)'.dev-dependencies] |
| libc = { version = "0.2.149" } |
| nix = { version = "0.28.0", default-features = false, features = ["fs", "socket"] } |
| |
| [target.'cfg(windows)'.dependencies.windows-sys] |
| version = "0.48" |
| optional = true |
| |
| [target.'cfg(windows)'.dev-dependencies.windows-sys] |
| version = "0.48" |
| features = [ |
| "Win32_Foundation", |
| "Win32_Security_Authorization", |
| ] |
| |
| [dev-dependencies] |
| tokio-test = { version = "0.4.0", path = "../tokio-test" } |
| tokio-stream = { version = "0.1", path = "../tokio-stream" } |
| futures = { version = "0.3.0", features = ["async-await"] } |
| mockall = "0.11.1" |
| async-stream = "0.3" |
| |
| [target.'cfg(not(target_family = "wasm"))'.dev-dependencies] |
| socket2 = "0.5.3" |
| tempfile = "3.1.0" |
| |
| [target.'cfg(not(all(target_family = "wasm", target_os = "unknown")))'.dev-dependencies] |
| rand = "0.8.0" |
| |
| [target.'cfg(all(target_family = "wasm", 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.7", 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"] |