mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
This patch started as an effort to make `time::Timer` private. However, in an effort to get the build compiling again, more and more changes were made. This probably should have been broken up, but here we are. I will attempt to summarize the changes here. * Feature flags are reorganized to make clearer. `net-driver` becomes `io-driver`. `rt-current-thread` becomes `rt-core`. * The `Runtime` can be created without any executor. This replaces `enter`. It also allows creating I/O / time drivers that are standalone. * `tokio::timer` is renamed to `tokio::time`. This brings it in line with `std`. * `tokio::timer::Timer` is renamed to `Driver` and made private. * The `clock` module is removed. Instead, an `Instant` type is provided. This type defaults to calling `std::time::Instant`. A `test-util` feature flag can be used to enable hooking into time. * The `blocking` module is moved to the top level and is cleaned up. * The `task` module is moved to the top level. * The thread-pool's in-place blocking implementation is cleaned up. * `runtime::Spawner` is renamed to `runtime::Handle` and can be used to "enter" a runtime context.
124 lines
2.9 KiB
TOML
124 lines
2.9 KiB
TOML
[package]
|
|
name = "tokio"
|
|
# When releasing to crates.io:
|
|
# - Remove path dependencies
|
|
# - Update html_root_url.
|
|
# - Update doc url
|
|
# - Cargo.toml
|
|
# - README.md
|
|
# - Update CHANGELOG.md.
|
|
# - Create "v0.2.x" git tag.
|
|
version = "0.2.0-alpha.6"
|
|
edition = "2018"
|
|
authors = ["Tokio Contributors <[email protected]>"]
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
documentation = "https://docs.rs/tokio/0.2.0-alpha.6/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]
|
|
default = [
|
|
"blocking",
|
|
"fs",
|
|
"io-util",
|
|
"net",
|
|
"process",
|
|
"rt-full",
|
|
"signal",
|
|
"sync",
|
|
"time",
|
|
]
|
|
|
|
blocking = ["rt-core"]
|
|
dns = ["blocking"]
|
|
fs = ["blocking"]
|
|
io-driver = ["mio", "lazy_static", "sync"] # TODO: get rid of sync
|
|
io-util = ["pin-project", "memchr"]
|
|
macros = ["tokio-macros"]
|
|
net = ["dns", "tcp", "udp", "uds"]
|
|
process = [
|
|
"io-util", # TODO: Get rid of
|
|
"libc",
|
|
"mio-named-pipes",
|
|
"signal",
|
|
"winapi/consoleapi",
|
|
"winapi/minwindef",
|
|
"winapi/threadpoollegacyapiset",
|
|
"winapi/winerror",
|
|
]
|
|
# Includes basic task execution capabilities
|
|
rt-core = []
|
|
rt-full = [
|
|
"macros",
|
|
"num_cpus",
|
|
"net",
|
|
"rt-core",
|
|
"sync",
|
|
"time",
|
|
]
|
|
signal = [
|
|
"io-driver",
|
|
"lazy_static",
|
|
"libc",
|
|
"mio-uds",
|
|
"signal-hook-registry",
|
|
"winapi/consoleapi",
|
|
"winapi/minwindef",
|
|
]
|
|
sync = ["fnv"]
|
|
test-util = []
|
|
tcp = ["io-driver"]
|
|
time = ["rt-core", "sync", "slab"]
|
|
udp = ["io-driver"]
|
|
uds = ["io-driver", "mio-uds", "libc"]
|
|
|
|
|
|
[dependencies]
|
|
tokio-macros = { version = "=0.2.0-alpha.6", optional = true, path = "../tokio-macros" }
|
|
|
|
bytes = "0.4"
|
|
futures-core = "0.3.0"
|
|
futures-sink = "0.3.0"
|
|
futures-util = { version = "0.3.0", features = ["sink", "channel"] }
|
|
iovec = "0.1"
|
|
|
|
# Everything else is optional...
|
|
fnv = { version = "1.0.6", optional = true }
|
|
lazy_static = { version = "1.0.2", optional = true }
|
|
memchr = { version = "2.2", optional = true }
|
|
mio = { version = "0.6.14", optional = true }
|
|
num_cpus = { version = "1.8.0", optional = true }
|
|
pin-project = { version = "0.4", optional = true }
|
|
# Backs `DelayQueue`
|
|
slab = { version = "0.4.1", optional = true }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
mio-uds = { version = "0.6.5", optional = true }
|
|
libc = { version = "0.2.42", optional = true }
|
|
signal-hook-registry = { version = "1.1.1", optional = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
mio-named-pipes = { version = "0.1.6", optional = true }
|
|
|
|
[target.'cfg(windows)'.dependencies.winapi]
|
|
version = "0.3.8"
|
|
default-features = false
|
|
optional = true
|
|
|
|
[dev-dependencies]
|
|
tokio-test = { version = "=0.2.0-alpha.6", path = "../tokio-test" }
|
|
futures = { version = "0.3.0", features = ["async-await"] }
|
|
loom = { version = "0.2.13", features = ["futures", "checkpoint"] }
|
|
proptest = "0.9.4"
|
|
tempfile = "3.1.0"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|