# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
rust-version = "1.46"
name = "tokio"
version = "1.16.1"
authors = ["Tokio Contributors <team@tokio.rs>"]
description = "An event-driven, non-blocking I/O platform for writing asynchronous I/O\nbacked applications.\n"
homepage = "https://tokio.rs"
readme = "README.md"
keywords = ["io", "async", "non-blocking", "futures"]
categories = ["asynchronous", "network-programming"]
license = "MIT"
repository = "https://github.com/tokio-rs/tokio"
[package.metadata.docs.rs]
all-features = true
rustc-args = ["--cfg", "tokio_unstable"]
rustdoc-args = ["--cfg", "docsrs", "--cfg", "tokio_unstable"]

[package.metadata.playground]
features = ["full", "test-util"]
[dependencies.bytes]
version = "1.0.0"
optional = true

[dependencies.memchr]
version = "2.2"
optional = true

[dependencies.mio]
version = "0.7.6"
optional = true

[dependencies.num_cpus]
version = "1.8.0"
optional = true

[dependencies.once_cell]
version = "1.5.2"
optional = true

[dependencies.parking_lot]
version = "0.11.0"
optional = true

[dependencies.pin-project-lite]
version = "0.2.0"

[dependencies.tokio-macros]
version = "1.7.0"
optional = true
[dev-dependencies.async-stream]
version = "0.3"

[dev-dependencies.futures]
version = "0.3.0"
features = ["async-await"]

[dev-dependencies.mockall]
version = "0.10.2"

[dev-dependencies.tempfile]
version = "3.1.0"

[dev-dependencies.tokio-stream]
version = "0.1"

[dev-dependencies.tokio-test]
version = "0.4.0"

[features]
default = []
fs = []
full = ["fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "sync", "time"]
io-std = []
io-util = ["memchr", "bytes"]
macros = ["tokio-macros"]
net = ["libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds", "winapi/namedpipeapi"]
process = ["bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry", "winapi/threadpoollegacyapiset"]
rt = []
rt-multi-thread = ["num_cpus", "rt"]
signal = ["once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry", "winapi/consoleapi"]
stats = []
sync = []
test-util = ["rt", "sync", "time"]
time = []
[target."cfg(loom)".dev-dependencies.loom]
version = "0.5"
features = ["futures", "checkpoint"]
[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies.proptest]
version = "1"

[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies.rand]
version = "0.8.0"

[target."cfg(not(target_arch = \"wasm32\"))".dev-dependencies.socket2]
version = "0.4"
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test]
version = "0.3.0"
[target."cfg(target_os = \"freebsd\")".dev-dependencies.mio-aio]
version = "0.6.0"
features = ["tokio"]
[target."cfg(tokio_unstable)".dependencies.tracing]
version = "0.1.25"
features = ["std"]
optional = true
default-features = false
[target."cfg(unix)".dependencies.libc]
version = "0.2.42"
optional = true

[target."cfg(unix)".dependencies.signal-hook-registry]
version = "1.1.1"
optional = true
[target."cfg(unix)".dev-dependencies.libc]
version = "0.2.42"

[target."cfg(unix)".dev-dependencies.nix]
version = "0.23"
[target."cfg(windows)".dependencies.winapi]
version = "0.3.8"
optional = true
default-features = false
[target."cfg(windows)".dev-dependencies.ntapi]
version = "0.3.6"
