# 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.49"
name = "tokio"
version = "1.20.1"
authors = ["Tokio Contributors <team@tokio.rs>"]
description = """
An event-driven, non-blocking I/O platform for writing asynchronous I/O
backed applications.
"""
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
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--cfg",
    "tokio_unstable",
]
rustc-args = [
    "--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.8.1"
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.12.0"
optional = true

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

[dependencies.socket2]
version = "0.4.4"
features = ["all"]
optional = true

[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.11.1"

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

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

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

[build-dependencies.autocfg]
version = "1.1"

[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-ext",
    "mio/net",
    "socket2",
    "winapi/fileapi",
    "winapi/handleapi",
    "winapi/namedpipeapi",
    "winapi/winbase",
    "winapi/winnt",
    "winapi/minwindef",
]
process = [
    "bytes",
    "once_cell",
    "libc",
    "mio/os-poll",
    "mio/os-ext",
    "mio/net",
    "signal-hook-registry",
    "winapi/handleapi",
    "winapi/processthreadsapi",
    "winapi/threadpoollegacyapiset",
    "winapi/winbase",
    "winapi/winnt",
    "winapi/minwindef",
]
rt = ["once_cell"]
rt-multi-thread = [
    "num_cpus",
    "rt",
]
signal = [
    "once_cell",
    "libc",
    "mio/os-poll",
    "mio/net",
    "mio/os-ext",
    "signal-hook-registry",
    "winapi/consoleapi",
    "winapi/wincon",
    "winapi/minwindef",
]
stats = []
sync = []
test-util = [
    "rt",
    "sync",
    "time",
]
time = []

[target."cfg(loom)".dev-dependencies.loom]
version = "0.5.2"
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.24"
features = [
    "fs",
    "socket",
]
default-features = false

[target."cfg(windows)".dependencies.winapi]
version = "0.3.8"
features = ["std"]
optional = true
default-features = false

[target."cfg(windows)".dev-dependencies.ntapi]
version = "0.3.6"
