summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2019-10-28 21:40:29 -0700
committerGitHub <noreply@github.com>2019-10-28 21:40:29 -0700
commitc62ef2d232dea1535a8e22484fa2ca083f03e903 (patch)
tree40cacadf882433fa22a87c4911e160581b596ed8
parent7eb264a0d0ee68433b20ecafabed53a70a9d43a4 (diff)
executor: move into `tokio` crate (#1702)
A step towards collapsing Tokio sub crates into a single `tokio` crate (#1318). The executor implementation is now provided by the main `tokio` crate. Functionality can be opted out of by using the various net related feature flags.
-rw-r--r--Cargo.toml1
-rw-r--r--azure-pipelines.yml39
-rw-r--r--ci/azure-tsan.yml2
-rw-r--r--ci/patch.toml1
-rw-r--r--tests-build/Cargo.toml3
-rw-r--r--tokio-executor/CHANGELOG.md81
-rw-r--r--tokio-executor/Cargo.toml52
-rw-r--r--tokio-executor/LICENSE25
-rw-r--r--tokio-executor/README.md13
-rw-r--r--tokio-executor/src/lib.rs102
-rw-r--r--tokio-test/Cargo.toml1
-rw-r--r--tokio-test/src/clock.rs2
-rw-r--r--tokio-test/src/task.rs2
-rw-r--r--tokio/Cargo.toml21
-rw-r--r--tokio/benches/thread_pool.rs (renamed from tokio-executor/benches/thread_pool.rs)2
-rw-r--r--tokio/src/executor.rs104
-rw-r--r--tokio/src/executor/blocking/builder.rs (renamed from tokio-executor/src/blocking/builder.rs)5
-rw-r--r--tokio/src/executor/blocking/mod.rs (renamed from tokio-executor/src/blocking/mod.rs)10
-rw-r--r--tokio/src/executor/current_thread/mod.rs (renamed from tokio-executor/src/current_thread/mod.rs)18
-rw-r--r--tokio/src/executor/current_thread/scheduler.rs (renamed from tokio-executor/src/current_thread/scheduler.rs)6
-rw-r--r--tokio/src/executor/enter.rs (renamed from tokio-executor/src/enter.rs)2
-rw-r--r--tokio/src/executor/error.rs (renamed from tokio-executor/src/error.rs)0
-rw-r--r--tokio/src/executor/executor.rs (renamed from tokio-executor/src/executor.rs)11
-rw-r--r--tokio/src/executor/global.rs (renamed from tokio-executor/src/global.rs)71
-rw-r--r--tokio/src/executor/loom/mod.rs (renamed from tokio-executor/src/loom/mod.rs)4
-rw-r--r--tokio/src/executor/loom/std/atomic_u32.rs (renamed from tokio-executor/src/loom/std/atomic_u32.rs)0
-rw-r--r--tokio/src/executor/loom/std/atomic_usize.rs (renamed from tokio-executor/src/loom/std/atomic_usize.rs)2
-rw-r--r--tokio/src/executor/loom/std/causal_cell.rs (renamed from tokio-executor/src/loom/std/causal_cell.rs)0
-rw-r--r--tokio/src/executor/loom/std/mod.rs (renamed from tokio-executor/src/loom/std/mod.rs)22
-rw-r--r--tokio/src/executor/mod.rs84
-rw-r--r--tokio/src/executor/park/mod.rs (renamed from tokio-executor/src/park/mod.rs)0
-rw-r--r--tokio/src/executor/park/thread.rs (renamed from tokio-executor/src/park/thread.rs)6
-rw-r--r--tokio/src/executor/task/core.rs (renamed from tokio-executor/src/task/core.rs)12
-rw-r--r--tokio/src/executor/task/error.rs (renamed from tokio-executor/src/task/error.rs)0
-rw-r--r--tokio/src/executor/task/harness.rs (renamed from tokio-executor/src/task/harness.rs)10
-rw-r--r--tokio/src/executor/task/join.rs (renamed from tokio-executor/src/task/join.rs)4
-rw-r--r--tokio/src/executor/task/list.rs (renamed from tokio-executor/src/task/list.rs)2
-rw-r--r--tokio/src/executor/task/mod.rs (renamed from tokio-executor/src/task/mod.rs)0
-rw-r--r--tokio/src/executor/task/raw.rs (renamed from tokio-executor/src/task/raw.rs)10
-rw-r--r--tokio/src/executor/task/stack.rs (renamed from tokio-executor/src/task/stack.rs)4
-rw-r--r--tokio/src/executor/task/state.rs (renamed from tokio-executor/src/task/state.rs)10
-rw-r--r--tokio/src/executor/task/tests/loom.rs (renamed from tokio-executor/src/task/tests/loom.rs)4
-rw-r--r--tokio/src/executor/task/tests/mod.rs (renamed from tokio-executor/src/task/tests/mod.rs)0
-rw-r--r--tokio/src/executor/task/tests/task.rs (renamed from tokio-executor/src/task/tests/task.rs)11
-rw-r--r--tokio/src/executor/task/waker.rs (renamed from tokio-executor/src/task/waker.rs)4
-rw-r--r--tokio/src/executor/tests/backoff.rs (renamed from tokio-executor/src/tests/backoff.rs)0
-rw-r--r--tokio/src/executor/tests/loom_oneshot.rs (renamed from tokio-executor/src/tests/loom_oneshot.rs)0
-rw-r--r--tokio/src/executor/tests/loom_schedule.rs (renamed from tokio-executor/src/tests/loom_schedule.rs)2
-rw-r--r--tokio/src/executor/tests/mock_park.rs (renamed from tokio-executor/src/tests/mock_park.rs)2
-rw-r--r--tokio/src/executor/tests/mock_schedule.rs (renamed from tokio-executor/src/tests/mock_schedule.rs)2
-rw-r--r--tokio/src/executor/tests/mod.rs (renamed from tokio-executor/src/tests/mod.rs)0
-rw-r--r--tokio/src/executor/tests/track_drop.rs (renamed from tokio-executor/src/tests/track_drop.rs)0
-rw-r--r--tokio/src/executor/thread_pool/builder.rs (renamed from tokio-executor/src/thread_pool/builder.rs)30
-rw-r--r--tokio/src/executor/thread_pool/current.rs (renamed from tokio-executor/src/thread_pool/current.rs)6
-rw-r--r--tokio/src/executor/thread_pool/idle.rs (renamed from tokio-executor/src/thread_pool/idle.rs)4
-rw-r--r--tokio/src/executor/thread_pool/join.rs (renamed from tokio-executor/src/thread_pool/join.rs)6
-rw-r--r--tokio/src/executor/thread_pool/mod.rs (renamed from tokio-executor/src/thread_pool/mod.rs)2
-rw-r--r--tokio/src/executor/thread_pool/owned.rs (renamed from tokio-executor/src/thread_pool/owned.rs)6
-rw-r--r--tokio/src/executor/thread_pool/park.rs (renamed from tokio-executor/src/thread_pool/park.rs)6
-rw-r--r--tokio/src/executor/thread_pool/pool.rs (renamed from tokio-executor/src/thread_pool/pool.rs)14
-rw-r--r--tokio/src/executor/thread_pool/queue/global.rs (renamed from tokio-executor/src/thread_pool/queue/global.rs)6
-rw-r--r--tokio/src/executor/thread_pool/queue/inject.rs (renamed from tokio-executor/src/thread_pool/queue/inject.rs)6
-rw-r--r--tokio/src/executor/thread_pool/queue/local.rs (renamed from tokio-executor/src/thread_pool/queue/local.rs)10
-rw-r--r--tokio/src/executor/thread_pool/queue/mod.rs (renamed from tokio-executor/src/thread_pool/queue/mod.rs)2
-rw-r--r--tokio/src/executor/thread_pool/queue/worker.rs (renamed from tokio-executor/src/thread_pool/queue/worker.rs)8
-rw-r--r--tokio/src/executor/thread_pool/set.rs (renamed from tokio-executor/src/thread_pool/set.rs)20
-rw-r--r--tokio/src/executor/thread_pool/shared.rs (renamed from tokio-executor/src/thread_pool/shared.rs)6
-rw-r--r--tokio/src/executor/thread_pool/shutdown.rs (renamed from tokio-executor/src/thread_pool/shutdown.rs)4
-rw-r--r--tokio/src/executor/thread_pool/spawner.rs (renamed from tokio-executor/src/thread_pool/spawner.rs)8
-rw-r--r--tokio/src/executor/thread_pool/tests/loom_pool.rs (renamed from tokio-executor/src/thread_pool/tests/loom_pool.rs)12
-rw-r--r--tokio/src/executor/thread_pool/tests/loom_queue.rs (renamed from tokio-executor/src/thread_pool/tests/loom_queue.rs)6
-rw-r--r--tokio/src/executor/thread_pool/tests/mod.rs (renamed from tokio-executor/src/thread_pool/tests/mod.rs)0
-rw-r--r--tokio/src/executor/thread_pool/tests/queue.rs (renamed from tokio-executor/src/thread_pool/tests/queue.rs)6
-rw-r--r--tokio/src/executor/thread_pool/tests/worker.rs (renamed from tokio-executor/src/thread_pool/tests/worker.rs)10
-rw-r--r--tokio/src/executor/thread_pool/worker.rs (renamed from tokio-executor/src/thread_pool/worker.rs)18
-rw-r--r--tokio/src/executor/typed.rs (renamed from tokio-executor/src/typed.rs)6
-rw-r--r--tokio/src/executor/util/mod.rs (renamed from tokio-executor/src/util/mod.rs)0
-rw-r--r--tokio/src/executor/util/pad.rs (renamed from tokio-executor/src/util/pad.rs)0
-rw-r--r--tokio/src/executor/util/rand.rs (renamed from tokio-executor/src/util/rand.rs)0
-rw-r--r--tokio/src/fs/mod.rs7
-rw-r--r--tokio/src/lib.rs8
-rw-r--r--tokio/src/net/addr.rs4
-rw-r--r--tokio/src/net/driver/mod.rs4
-rw-r--r--tokio/src/net/driver/reactor/mod.rs2
-rw-r--r--tokio/src/runtime/current_thread/builder.rs3
-rw-r--r--tokio/src/runtime/current_thread/mod.rs4
-rw-r--r--tokio/src/runtime/current_thread/runtime.rs11
-rw-r--r--tokio/src/runtime/mod.rs4
-rw-r--r--tokio/src/runtime/threadpool/builder.rs3
-rw-r--r--tokio/src/runtime/threadpool/mod.rs4
-rw-r--r--tokio/src/runtime/threadpool/spawner.rs3
-rw-r--r--tokio/src/timer/timer/mod.rs3
-rw-r--r--tokio/tests/current_thread.rs (renamed from tokio-executor/tests/current_thread.rs)10
-rw-r--r--tokio/tests/executor.rs (renamed from tokio-executor/tests/executor.rs)4
-rw-r--r--tokio/tests/executor_enter.rs (renamed from tokio-executor/tests/enter.rs)4
-rw-r--r--tokio/tests/executor_global.rs (renamed from tokio-executor/tests/global.rs)4
-rw-r--r--tokio/tests/net_driver.rs2
-rw-r--r--tokio/tests/runtime_current_thread.rs3
-rw-r--r--tokio/tests/runtime_threaded.rs5
-rw-r--r--tokio/tests/thread_pool.rs (renamed from tokio-executor/tests/thread_pool.rs)8
-rw-r--r--tokio/tests/timer_hammer.rs6
101 files changed, 387 insertions, 690 deletions
diff --git a/Cargo.toml b/Cargo.toml
index d6703e16..4a9e88a0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,7 +2,6 @@
members = [
"tokio",
- "tokio-executor",
"tokio-macros",
"tokio-sync",
"tokio-test",
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 5b3188ea..4fb21761 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -47,9 +47,6 @@ jobs:
displayName: Test sub crates -
rust: beta
crates:
- tokio-executor:
- - current-thread
- - thread-pool
tokio-sync:
- async-traits
tokio-macros: []
@@ -58,22 +55,23 @@ jobs:
examples: []
# Test compilation failure
-- template: ci/azure-test-stable.yml
- parameters:
- name: test_features
- displayName: Test feature flags
- rust: beta
- crates:
- tests-build:
- - tokio-executor
- - executor-without-current-thread
- # - macros-invalid-input
- # - net-no-features
- # - net-with-tcp
- # - net-with-udp
- # - net-with-uds
- # - tokio-no-features
- # - tokio-with-net
+# Disable pending: https://github.com/tokio-rs/tokio/pull/1695#issuecomment-547045383
+# - template: ci/azure-test-stable.yml
+# parameters:
+# name: test_features
+# displayName: Test feature flags
+# rust: beta
+# crates:
+# tests-build:
+# # - tokio-executor
+# # - executor-without-current-thread
+# # - macros-invalid-input
+# # - net-no-features
+# # - net-with-tcp
+# # - net-with-udp
+# # - net-with-uds
+# # - tokio-no-features
+# # - tokio-with-net
# Run loom tests
- template: ci/azure-loom.yml
@@ -81,7 +79,6 @@ jobs:
name: loom
rust: beta
crates:
- - tokio-executor
- tokio
# Try cross compiling
@@ -115,7 +112,7 @@ jobs:
- clippy
- test_tokio
- test_linux
- - test_features
+ # - test_features
- loom
# - test_nightly
- cross
diff --git a/ci/azure-tsan.yml b/ci/azure-tsan.yml
index 3ce24ee8..0104697e 100644
--- a/ci/azure-tsan.yml
+++ b/ci/azure-tsan.yml
@@ -5,8 +5,6 @@ jobs:
matrix:
Timer:
cmd: cargo test -p tokio-timer --test hammer
- Threadpool:
- cmd: cargo test -p tokio-executor --tests --features threadpool
pool:
vmImage: ubuntu-16.04
steps:
diff --git a/ci/patch.toml b/ci/patch.toml
index 6718f231..333c4dff 100644
--- a/ci/patch.toml
+++ b/ci/patch.toml
@@ -2,7 +2,6 @@
# repository.
[patch.crates-io]
tokio = { path = "tokio" }
-tokio-executor = { path = "tokio-executor" }
tokio-macros = { path = "tokio-macros" }
tokio-sync = { path = "tokio-sync" }
tokio-tls = { path = "tokio-tls" }
diff --git a/tests-build/Cargo.toml b/tests-build/Cargo.toml
index fb837d03..36dbc883 100644
--- a/tests-build/Cargo.toml
+++ b/tests-build/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
publish = false
[features]
-executor-without-current-thread = ["tokio-executor"]
+# executor-without-current-thread = ["tokio-executor"]
# macros-invalid-input = ["tokio/rt-full"]
# net-no-features = ["tokio-net"]
# net-with-tcp = ["tokio-net/tcp"]
@@ -19,7 +19,6 @@ executor-without-current-thread = ["tokio-executor"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-tokio-executor = { path = "../tokio-executor", optional = true }
# tokio = { path = "../tokio", optional = true, default-features = false }
[dev-dependencies]
diff --git a/tokio-executor/CHANGELOG.md b/tokio-executor/CHANGELOG.md
deleted file mode 100644
index d2cca0ba..00000000
--- a/tokio-executor/CHANGELOG.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# 0.2.0-alpha.6 (September 30, 2019)
-
-- Move to `futures-*-preview 0.3.0-alpha.19`
-- Move to `pin-project 0.4`
-
-# 0.2.0-alpha.5 (September 19, 2019)
-
-### Fix
-- shutdown blocking pool threads when idle (#1562, #1514).
-
-# 0.2.0-alpha.4 (August 29, 2019)
-
-- Track tokio release.
-
-# 0.2.0-alpha.3 (August 28, 2019)
-
-### Changed
-- use `tracing` instead of `log`
-
-### Added
-- thread pool dedicated to blocking operations (#1495).
-- `Executor::spawn_with_handle` (#1492).
-
-# 0.2.0-alpha.2 (August 17, 2019)
-
-### Fixed
-- allow running executor from within blocking clause (#1433).
-
-### Changed
-- Update `futures` dependency to 0.3.0-alpha.18.
-
-### Added
-- Import `current-thread` executor (#1447).
-- Import `threadpool` executor (#1152).
-
-# 0.2.0-alpha.1 (August 8, 2019)
-
-### Changed
-- Switch to `async`, `await`, and `std::future`.
-
-### Removed
-- `Enter::make_permanent` and `Enter::on_exit` (#???)
-
-# 0.1.7 (March 22, 2019)
-
-### Added
-- `TypedExecutor` for spawning futures of a specific type (#993).
-
-# 0.1.6 (January 6, 2019)
-
-* Implement `Unpark` for `Arc<Unpark>` (#802).
-* Switch to crossbeam's Parker / Unparker (#528).
-
-# 0.1.5 (September 26, 2018)
-
-* Implement `futures::Executor` for `DefaultExecutor` (#563).
-* Add `Enter::block_on(future)` (#646)
-
-# 0.1.4 (August 23, 2018)
-
-* Implement `std::error::Error` for error types (#511).
-
-# 0.1.3 (August 6, 2018)
-
-* Implement `Executor` for `Box<E: Executor>` (#420).
-* Improve `EnterError` debug message (#410).
-* Implement `status`, `Send`, and `Sync` for `DefaultExecutor` (#463, #472).
-* Fix race in `ParkThread` (#507).
-* Handle recursive calls into `DefaultExecutor` (#473).
-
-# 0.1.2 (March 30, 2018)
-
-* Implement `Unpark` for `Box<Unpark>`.
-
-# 0.1.1 (March 22, 2018)
-
-* Optionally support futures 0.2.
-
-# 0.1.0 (March 09, 2018)
-
-* Initial release
diff --git a/tokio-executor/Cargo.toml b/tokio-executor/Cargo.toml
deleted file mode 100644
index d1bd6a18..00000000
--- a/tokio-executor/Cargo.toml
+++ /dev/null
@@ -1,52 +0,0 @@
-[package]
-name = "tokio-executor"
-# When releasing to crates.io:
-# - Remove path dependencies
-# - Update html_root_url.
-# - Update doc url
-# - Cargo.toml
-# - Update CHANGELOG.md.
-# - Create "v0.2.x" git tag.
-version = "0.2.0-alpha.6"
-edition = "2018"
-documentation = "https://docs.rs/tokio-executor/0.2.0-alpha.6/tokio_executor"
-repository = "https://github.com/tokio-rs/tokio"
-homepage = "https://github.com/tokio-rs/tokio"
-license = "MIT"
-authors = ["Tokio Contributors <team@tokio.rs>"]
-description = """
-Future execution primitives
-"""
-keywords = ["futures", "tokio"]
-categories = ["concurrency", "asynchronous"]
-
-[features]
-blocking = ["lazy_static"]
-current-thread = ["crossbeam-channel"]
-thread-pool = ["num_cpus"]
-
-[dependencies]
-futures-util-preview = { version = "=0.3.0-alpha.19", features = ["channel"] }
-tokio-sync = { version = "=0.2.0-alpha.6", path = "../tokio-sync" }
-
-# current-thread dependencies
-crossbeam-channel = { version = "0.3.8", optional = true }
-
-# threadpool dependencies
-num_cpus = { version = "1.2", optional = true }
-
-# blocking
-futures-core-preview = { version = "=0.3.0-alpha.19", optional = true }
-lazy_static = { version = "1", optional = true }
-
-[dev-dependenc