• 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.14.0"
11edition = "2018"
12authors = ["Tokio Contributors <team@tokio.rs>"]
13license = "MIT"
14readme = "README.md"
15documentation = "https://docs.rs/tokio/1.14.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"]
50stats = []
51net = [
52  "libc",
53  "mio/os-poll",
54  "mio/os-util",
55  "mio/tcp",
56  "mio/udp",
57  "mio/uds",
58  "winapi/namedpipeapi",
59]
60process = [
61  "bytes",
62  "once_cell",
63  "libc",
64  "mio/os-poll",
65  "mio/os-util",
66  "mio/uds",
67  "signal-hook-registry",
68  "winapi/threadpoollegacyapiset",
69]
70# Includes basic task execution capabilities
71rt = []
72rt-multi-thread = [
73  "num_cpus",
74  "rt",
75]
76signal = [
77  "once_cell",
78  "libc",
79  "mio/os-poll",
80  "mio/uds",
81  "mio/os-util",
82  "signal-hook-registry",
83  "winapi/consoleapi",
84]
85sync = []
86test-util = ["rt", "sync", "time"]
87time = []
88
89[dependencies]
90tokio-macros = { version = "1.6.0", path = "../tokio-macros", optional = true }
91
92pin-project-lite = "0.2.0"
93
94# Everything else is optional...
95bytes = { version = "1.0.0", optional = true }
96once_cell = { version = "1.5.2", optional = true }
97memchr = { version = "2.2", optional = true }
98mio = { version = "0.7.6", optional = true }
99num_cpus = { version = "1.8.0", optional = true }
100parking_lot = { version = "0.11.0", optional = true }
101
102# Currently unstable. The API exposed by these features may be broken at any time.
103# Requires `--cfg tokio_unstable` to enable.
104[target.'cfg(tokio_unstable)'.dependencies]
105tracing = { version = "0.1.25", default-features = false, features = ["std"], optional = true } # Not in full
106
107[target.'cfg(unix)'.dependencies]
108libc = { version = "0.2.42", optional = true }
109signal-hook-registry = { version = "1.1.1", optional = true }
110
111[target.'cfg(unix)'.dev-dependencies]
112libc = { version = "0.2.42" }
113nix = { version = "0.22.0" }
114
115[target.'cfg(windows)'.dependencies.winapi]
116version = "0.3.8"
117default-features = false
118optional = true
119
120[target.'cfg(windows)'.dev-dependencies.ntapi]
121version = "0.3.6"
122
123[dev-dependencies]
124tokio-test = { version = "0.4.0", path = "../tokio-test" }
125tokio-stream = { version = "0.1", path = "../tokio-stream" }
126futures = { version = "0.3.0", features = ["async-await"] }
127mockall = "0.10.2"
128proptest = "1"
129rand = "0.8.0"
130tempfile = "3.1.0"
131async-stream = "0.3"
132socket2 = "0.4"
133
134[target.'cfg(target_os = "freebsd")'.dev-dependencies]
135mio-aio = { version = "0.6.0", features = ["tokio"] }
136
137[target.'cfg(loom)'.dev-dependencies]
138loom = { version = "0.5", features = ["futures", "checkpoint"] }
139
140[build-dependencies]
141autocfg = "1" # Needed for conditionally enabling `track-caller`
142
143[package.metadata.docs.rs]
144all-features = true
145rustdoc-args = ["--cfg", "docsrs"]
146
147[package.metadata.playground]
148features = ["full", "test-util"]
149