• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[package]
2name = "tokio"
3# When releasing to crates.io:
4# - Remove path dependencies
5# - Update doc url
6#   - Cargo.toml
7#   - README.md
8# - Update CHANGELOG.md.
9# - Create "v1.0.x" git tag.
10version = "1.5.0"
11edition = "2018"
12authors = ["Tokio Contributors <team@tokio.rs>"]
13license = "MIT"
14readme = "README.md"
15documentation = "https://docs.rs/tokio/1.5.0/tokio/"
16repository = "https://github.com/tokio-rs/tokio"
17homepage = "https://tokio.rs"
18description = """
19An event-driven, non-blocking I/O platform for writing asynchronous I/O
20backed applications.
21"""
22categories = ["asynchronous", "network-programming"]
23keywords = ["io", "async", "non-blocking", "futures"]
24
25[features]
26# Include nothing by default
27default = []
28
29# enable everything
30full = [
31  "fs",
32  "io-util",
33  "io-std",
34  "macros",
35  "net",
36  "parking_lot",
37  "process",
38  "rt",
39  "rt-multi-thread",
40  "signal",
41  "sync",
42  "time",
43]
44
45fs = []
46io-util = ["memchr", "bytes"]
47# stdin, stdout, stderr
48io-std = []
49macros = ["tokio-macros"]
50net = [
51  "libc",
52  "mio/os-poll",
53  "mio/os-util",
54  "mio/tcp",
55  "mio/udp",
56  "mio/uds",
57]
58process = [
59  "bytes",
60  "once_cell",
61  "libc",
62  "mio/os-poll",
63  "mio/os-util",
64  "mio/uds",
65  "signal-hook-registry",
66  "winapi/threadpoollegacyapiset",
67]
68# Includes basic task execution capabilities
69rt = []
70rt-multi-thread = [
71  "num_cpus",
72  "rt",
73]
74signal = [
75  "once_cell",
76  "libc",
77  "mio/os-poll",
78  "mio/uds",
79  "mio/os-util",
80  "signal-hook-registry",
81  "winapi/consoleapi",
82]
83sync = []
84test-util = []
85time = []
86
87[dependencies]
88tokio-macros = { version = "1.1.0", path = "../tokio-macros", optional = true }
89
90pin-project-lite = "0.2.0"
91
92# Everything else is optional...
93bytes = { version = "1.0.0", optional = true }
94once_cell = { version = "1.5.2", optional = true }
95memchr = { version = "2.2", optional = true }
96mio = { version = "0.7.6", optional = true }
97num_cpus = { version = "1.8.0", optional = true }
98parking_lot = { version = "0.11.0", optional = true }
99
100# Currently unstable. The API exposed by these features may be broken at any time.
101# Requires `--cfg tokio_unstable` to enable.
102[target.'cfg(tokio_unstable)'.dependencies]
103tracing = { version = "0.1.21", default-features = false, features = ["std"], optional = true } # Not in full
104
105[target.'cfg(unix)'.dependencies]
106libc = { version = "0.2.42", optional = true }
107signal-hook-registry = { version = "1.1.1", optional = true }
108
109[target.'cfg(unix)'.dev-dependencies]
110libc = { version = "0.2.42" }
111nix = { version = "0.19.0" }
112
113[target.'cfg(windows)'.dependencies.winapi]
114version = "0.3.8"
115default-features = false
116optional = true
117
118[dev-dependencies]
119tokio-test = { version = "0.4.0", path = "../tokio-test" }
120tokio-stream = { version = "0.1", path = "../tokio-stream" }
121futures = { version = "0.3.0", features = ["async-await"] }
122proptest = "1"
123rand = "0.8.0"
124tempfile = "3.1.0"
125async-stream = "0.3"
126
127[target.'cfg(loom)'.dev-dependencies]
128loom = { version = "0.5", features = ["futures", "checkpoint"] }
129
130[build-dependencies]
131autocfg = "1" # Needed for conditionally enabling `track-caller`
132
133[package.metadata.docs.rs]
134all-features = true
135rustdoc-args = ["--cfg", "docsrs"]
136
137[package.metadata.playground]
138features = ["full", "test-util"]
139