summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2019-01-22 11:37:26 -0800
committerGitHub <noreply@github.com>2019-01-22 11:37:26 -0800
commit13083153aad0750bfee5772d633c725b70f5d243 (patch)
treee16419be74a39cf60efc7b235db6991e81ccd6cf /Cargo.toml
parent91f20e33a41108be2b42a8593c70cbff68a23bd6 (diff)
Introduce tokio-sync crate containing synchronization primitives. (#839)
Introduce a tokio-sync crate containing useful synchronization primitives for programs written using Tokio. The initial release contains: * An mpsc channel * A oneshot channel * A semaphore implementation * An `AtomicTask` primitive. The `oneshot` and `mpsc` channels are new implementations providing improved performance characteristics. In some benchmarks, the new mpsc channel shows up to 7x improvement over the version provided by the `futures` crate. Unfortunately, the `oneshot` implementation only provides a slight performance improvement as it is mostly limited by the `futures` 0.1 task system. Once updated to the `std` version of `Future` (currently nightly only), much greater performance improvements should be achievable by `oneshot`. Additionally, he implementations provided here are checked using [Loom](http://github.com/carllerche/loom/), which provides greater confidence of correctness.
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml5
1 files changed, 4 insertions, 1 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 97f3b128..cc729ed7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -26,7 +26,6 @@ members = [
"./",
"tokio-async-await",
"tokio-buf",
- "tokio-channel",
"tokio-codec",
"tokio-current-thread",
"tokio-executor",
@@ -34,6 +33,7 @@ members = [
"tokio-io",
"tokio-reactor",
"tokio-signal",
+ "tokio-sync",
"tokio-threadpool",
"tokio-timer",
"tokio-tcp",
@@ -49,6 +49,7 @@ default = [
"io",
"reactor",
"rt-full",
+ "sync",
"tcp",
"timer",
"udp",
@@ -67,6 +68,7 @@ rt-full = [
"tokio-executor",
"tokio-threadpool",
]
+sync = ["tokio-sync"]
tcp = ["tokio-tcp"]
timer = ["tokio-timer"]
udp = ["tokio-udp"]
@@ -95,6 +97,7 @@ tokio-fs = { version = "0.1.3", path = "tokio-fs", optional = true }
tokio-io = { version = "0.1.6", path = "tokio-io", optional = true }
tokio-executor = { version = "0.1.5", path = "tokio-executor", optional = true }
tokio-reactor = { version = "0.1.1", path = "tokio-reactor", optional = true }
+tokio-sync = { version = "0.1.0", path = "tokio-sync", optional = true }
tokio-threadpool = { version = "0.1.8", path = "tokio-threadpool", optional = true }
tokio-tcp = { version = "0.1.0", path = "tokio-tcp", optional = true }
tokio-udp = { version = "0.1.0", path = "tokio-udp", optional = true }