[package] name = "tokio" # When releasing to crates.io: # - Remove path dependencies # - Update doc url # - Cargo.toml # - README.md # - Update CHANGELOG.md. # - Create "v1.0.x" git tag. version = "1.5.0" edition = "2018" authors = ["Tokio Contributors "] license = "MIT" readme = "README.md" documentation = "https://docs.rs/tokio/1.5.0/tokio/" 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 = ["memchr", "bytes"] # stdin, stdout, stderr io-std = [] macros = ["tokio-macros"] net = [ "libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds", ] process = [ "bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry", "winapi/threadpoollegacyapiset", ] # Includes basic task execution capabilities rt = [] rt-multi-thread = [ "num_cpus", "rt", ] signal = [ "once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry", "winapi/consoleapi", ] sync = [] test-util = [] time = [] [dependencies] tokio-macros = { version = "1.1.0", path = "../tokio-macros", optional = true } pin-project-lite = "0.2.0" # Everything else is optional... bytes = { version = "1.0.0", optional = true } once_cell = { version = "1.5.2", optional = true } memchr = { version = "2.2", optional = true } mio = { version = "0.7.6", optional = true } num_cpus = { version = "1.8.0", optional = true } parking_lot = { version = "0.11.0", 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.21", 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.19.0" } [target.'cfg(windows)'.dependencies.winapi] version = "0.3.8" default-features = false optional = true [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"] } proptest = "1" rand = "0.8.0" tempfile = "3.1.0" async-stream = "0.3" [target.'cfg(loom)'.dev-dependencies] loom = { version = "0.5", features = ["futures", "checkpoint"] } [build-dependencies] autocfg = "1" # Needed for conditionally enabling `track-caller` [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.playground] features = ["full", "test-util"]