From 3c8f110730b5c6dd39978361bcf549c638e203a3 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Fri, 22 Mar 2019 13:55:48 -0700 Subject: [PATCH] Bump Tokio version to v0.1.18 (#997) Also bumps: - tokio-signal (0.2.8) - tokio-current-thread (0.1.6) - tokio-executor (0.1.7) - tokio-threadpool (0.1.13) [ci-release] --- README.md | 8 +- tokio-current-thread/CHANGELOG.md | 5 ++ tokio-current-thread/Cargo.toml | 6 +- tokio-current-thread/README.md | 2 +- tokio-current-thread/src/lib.rs | 2 +- tokio-executor/CHANGELOG.md | 5 ++ tokio-executor/Cargo.toml | 6 +- tokio-executor/README.md | 10 +-- tokio-executor/src/lib.rs | 2 +- tokio-signal/CHANGELOG.md | 5 ++ tokio-signal/Cargo.toml | 6 +- tokio-signal/README.md | 19 ++--- tokio-signal/src/lib.rs | 6 +- tokio-threadpool/CHANGELOG.md | 5 ++ tokio-threadpool/Cargo.toml | 6 +- tokio-threadpool/README.md | 2 +- tokio-threadpool/src/lib.rs | 2 +- CHANGELOG.md => tokio/CHANGELOG.md | 5 ++ tokio/Cargo.toml | 6 +- tokio/README.md | 125 +++++++++++++++++++++++++++++ tokio/src/lib.rs | 2 +- 21 files changed, 188 insertions(+), 47 deletions(-) rename CHANGELOG.md => tokio/CHANGELOG.md (97%) create mode 100644 tokio/README.md diff --git a/README.md b/README.md index c17038da192..308fab75c6a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ the Rust programming language. It is: [Website](https://tokio.rs) | [Guides](https://tokio.rs/docs/getting-started/hello-world/) | -[API Docs](https://docs.rs/tokio/0.1.17/tokio) | +[API Docs](https://docs.rs/tokio/0.1.18/tokio) | [Chat](https://gitter.im/tokio-rs/tokio) The API docs for the master branch are published [here][master-dox]. @@ -49,9 +49,9 @@ level, it provides a few major components: These components provide the runtime components necessary for building an asynchronous application. -[net]: https://docs.rs/tokio/0.1/tokio/net/index.html -[reactor]: https://docs.rs/tokio/0.1/tokio/reactor/index.html -[scheduler]: https://tokio-rs.github.io/tokio/tokio/runtime/index.html +[net]: https://docs.rs/tokio/0.1.18/tokio/net/index.html +[reactor]: https://docs.rs/tokio/0.1.18/tokio/reactor/index.html +[scheduler]: https://docs.rs/tokio/0.1.18/tokio/runtime/index.html ## Example diff --git a/tokio-current-thread/CHANGELOG.md b/tokio-current-thread/CHANGELOG.md index 387aabae0b5..deb764d4a88 100644 --- a/tokio-current-thread/CHANGELOG.md +++ b/tokio-current-thread/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.1.6 (March 22, 2019) + +### Added +- implement `TypedExecutor` (#993). + # 0.1.5 (March 1, 2019) ### Fixed diff --git a/tokio-current-thread/Cargo.toml b/tokio-current-thread/Cargo.toml index 32ed491eecc..63bbd64ec43 100644 --- a/tokio-current-thread/Cargo.toml +++ b/tokio-current-thread/Cargo.toml @@ -8,8 +8,8 @@ name = "tokio-current-thread" # - README.md # - Update CHANGELOG.md. # - Create "v0.1.x" git tag. -version = "0.1.5" -documentation = "https://docs.rs/tokio-current-thread/0.1.5/tokio_current_thread" +version = "0.1.6" +documentation = "https://docs.rs/tokio-current-thread/0.1.6/tokio_current_thread" repository = "https://github.com/tokio-rs/tokio" homepage = "https://github.com/tokio-rs/tokio" license = "MIT" @@ -21,5 +21,5 @@ keywords = ["futures", "tokio"] categories = ["concurrency", "asynchronous"] [dependencies] -tokio-executor = { version = "0.1.5", path = "../tokio-executor" } +tokio-executor = "0.1.6" futures = "0.1.19" diff --git a/tokio-current-thread/README.md b/tokio-current-thread/README.md index 4fbd34bbd52..007b84baedd 100644 --- a/tokio-current-thread/README.md +++ b/tokio-current-thread/README.md @@ -2,7 +2,7 @@ Single threaded executor for Tokio. -[Documentation](https://docs.rs/tokio-current-thread/0.1.5/tokio_current_thread/) +[Documentation](https://docs.rs/tokio-current-thread/0.1.6/tokio_current_thread/) ## Overview diff --git a/tokio-current-thread/src/lib.rs b/tokio-current-thread/src/lib.rs index 3491e815ff2..8dc3ebd144b 100644 --- a/tokio-current-thread/src/lib.rs +++ b/tokio-current-thread/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/tokio-current-thread/0.1.5")] +#![doc(html_root_url = "https://docs.rs/tokio-current-thread/0.1.6")] #![deny(warnings, missing_docs, missing_debug_implementations)] //! A single-threaded executor which executes tasks on the same thread from which diff --git a/tokio-executor/CHANGELOG.md b/tokio-executor/CHANGELOG.md index 4966481e871..6647e48cc5e 100644 --- a/tokio-executor/CHANGELOG.md +++ b/tokio-executor/CHANGELOG.md @@ -1,3 +1,8 @@ +# 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` (#802). diff --git a/tokio-executor/Cargo.toml b/tokio-executor/Cargo.toml index 5f006fe8a3b..7dd367bfcf3 100644 --- a/tokio-executor/Cargo.toml +++ b/tokio-executor/Cargo.toml @@ -8,8 +8,8 @@ name = "tokio-executor" # - Cargo.toml # - README.md # - Create "v0.1.x" git tag. -version = "0.1.6" -documentation = "https://docs.rs/tokio-executor/0.1.6/tokio_executor" +version = "0.1.7" +documentation = "https://docs.rs/tokio-executor/0.1.7/tokio_executor" repository = "https://github.com/tokio-rs/tokio" homepage = "https://github.com/tokio-rs/tokio" license = "MIT" @@ -25,4 +25,4 @@ crossbeam-utils = "0.6.2" futures = "0.1.19" [dev-dependencies] -tokio = { version = "0.1.17", path = "../tokio" } +tokio = "0.1.18" diff --git a/tokio-executor/README.md b/tokio-executor/README.md index 67215fccdd3..301599018c7 100644 --- a/tokio-executor/README.md +++ b/tokio-executor/README.md @@ -2,7 +2,7 @@ Task execution related traits and utilities. -[Documentation](https://docs.rs/tokio-executor/0.1.6/tokio_executor) +[Documentation](https://docs.rs/tokio-executor/0.1.7/tokio_executor) ## Overview @@ -31,10 +31,10 @@ executor, including: * [`Park`] abstracts over blocking and unblocking the current thread. -[`Executor`]: https://docs.rs/tokio-executor/0.1.6/tokio_executor/trait.Executor.html -[`enter`]: https://docs.rs/tokio-executor/0.1.6/tokio_executor/fn.enter.html -[`DefaultExecutor`]: https://docs.rs/tokio-executor/0.1.6/tokio_executor/struct.DefaultExecutor.html -[`Park`]: https://docs.rs/tokio-executor/0.1.6/tokio_executor/park/trait.Park.html +[`Executor`]: https://docs.rs/tokio-executor/0.1.7/tokio_executor/trait.Executor.html +[`enter`]: https://docs.rs/tokio-executor/0.1.7/tokio_executor/fn.enter.html +[`DefaultExecutor`]: https://docs.rs/tokio-executor/0.1.7/tokio_executor/struct.DefaultExecutor.html +[`Park`]: https://docs.rs/tokio-executor/0.1.7/tokio_executor/park/trait.Park.html ## License diff --git a/tokio-executor/src/lib.rs b/tokio-executor/src/lib.rs index bcb4b23ff60..5362d0fae85 100644 --- a/tokio-executor/src/lib.rs +++ b/tokio-executor/src/lib.rs @@ -1,5 +1,5 @@ #![deny(missing_docs, missing_debug_implementations, warnings)] -#![doc(html_root_url = "https://docs.rs/tokio-executor/0.1.6")] +#![doc(html_root_url = "https://docs.rs/tokio-executor/0.1.7")] //! Task execution related traits and utilities. //! diff --git a/tokio-signal/CHANGELOG.md b/tokio-signal/CHANGELOG.md index c0889986725..56920565875 100644 --- a/tokio-signal/CHANGELOG.md +++ b/tokio-signal/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.2.8 (March 22, 2019) + +### Fixed +- remove usage of deprecated `Handle::current` (#981). + ## 0.2.7 - (November 21, 2018) ### Changed * `unix::Signal` now implements `Sync` diff --git a/tokio-signal/Cargo.toml b/tokio-signal/Cargo.toml index 9caa92a79de..e6ec22a3ab7 100644 --- a/tokio-signal/Cargo.toml +++ b/tokio-signal/Cargo.toml @@ -6,12 +6,12 @@ name = "tokio-signal" # - Update CHANGELOG.md. # - Update doc URL. # - Create "v0.2.x" git tag. -version = "0.2.7" -authors = ["Alex Crichton "] +version = "0.2.8" +authors = ["Tokio Contributors "] license = "MIT" repository = "https://github.com/tokio-rs/tokio" homepage = "https://github.com/tokio-rs/tokio" -documentation = "https://docs.rs/tokio-signal/0.2.7/tokio_signal" +documentation = "https://docs.rs/tokio-signal/0.2.8/tokio_signal" description = """ An implementation of an asynchronous Unix signal handling backed futures. """ diff --git a/tokio-signal/README.md b/tokio-signal/README.md index ceeb6aa2ef8..e368fb44b23 100644 --- a/tokio-signal/README.md +++ b/tokio-signal/README.md @@ -1,16 +1,8 @@ # tokio-signal -An implementation of Unix signal handling for Tokio +Unix signal handling for Tokio. -[![Travis Build Status][travis-badge]][travis-url] -[![Appveyor Build Status][appveyor-badge]][appveyor-url] - -[travis-badge]: https://travis-ci.org/tokio-rs/tokio.svg?branch=master -[travis-url]: https://travis-ci.org/tokio-rs/tokio -[appveyor-badge]: https://ci.appveyor.com/api/projects/status/s83yxhy9qeb58va7/branch/master?svg=true -[appveyor-url]: https://ci.appveyor.com/project/carllerche/tokio/branch/master - -[Documentation](https://docs.rs/tokio-signal) +[Documentation](https://docs.rs/tokio-signal/0.2.8/tokio_signal) ## Usage @@ -18,7 +10,7 @@ First, add this to your `Cargo.toml`: ```toml [dependencies] -tokio-signal = "0.2" +tokio-signal = "0.2.8" ``` Next you can use this in conjunction with the `tokio` and `futures` crates: @@ -46,10 +38,9 @@ fn main() { } ``` -# License +## License -This project is licensed the MIT license ([LICENSE](LICENSE) or -http://opensource.org/licenses/MIT). +This project is licensed under the [MIT license](./LICENSE). ### Contribution diff --git a/tokio-signal/src/lib.rs b/tokio-signal/src/lib.rs index d8001074038..1a33ec78999 100644 --- a/tokio-signal/src/lib.rs +++ b/tokio-signal/src/lib.rs @@ -1,3 +1,6 @@ +#![doc(html_root_url = "https://docs.rs/tokio-signal/0.2.8")] +#![deny(missing_docs)] + //! Asynchronous signal handling for Tokio //! //! This crate implements asynchronous signal handling for Tokio, an @@ -67,9 +70,6 @@ //! # fn main() {} //! ``` -#![doc(html_root_url = "https://docs.rs/tokio-signal/0.2.7")] -#![deny(missing_docs)] - extern crate futures; extern crate mio; extern crate tokio_executor; diff --git a/tokio-threadpool/CHANGELOG.md b/tokio-threadpool/CHANGELOG.md index 4ad42f52f5a..9ea565ce1bb 100644 --- a/tokio-threadpool/CHANGELOG.md +++ b/tokio-threadpool/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.1.13 (March 22, 2019) + +### Added +- `TypedExecutor` implementations (#993) + # 0.1.12 (March 1, 2019) ### Fixed diff --git a/tokio-threadpool/Cargo.toml b/tokio-threadpool/Cargo.toml index 18c757b0fb7..9deeaaf0a08 100644 --- a/tokio-threadpool/Cargo.toml +++ b/tokio-threadpool/Cargo.toml @@ -7,8 +7,8 @@ name = "tokio-threadpool" # - README.md # - Update CHANGELOG.md. # - Create "v0.1.x" git tag. -version = "0.1.12" -documentation = "https://docs.rs/tokio-threadpool/0.1.12/tokio_threadpool" +version = "0.1.13" +documentation = "https://docs.rs/tokio-threadpool/0.1.13/tokio_threadpool" repository = "https://github.com/tokio-rs/tokio" homepage = "https://github.com/tokio-rs/tokio" license = "MIT" @@ -20,7 +20,7 @@ keywords = ["futures", "tokio"] categories = ["concurrency", "asynchronous"] [dependencies] -tokio-executor = { version = "0.1.5", path = "../tokio-executor" } +tokio-executor = "0.1.7" futures = "0.1.19" crossbeam-deque = "0.7.0" crossbeam-queue = "0.1.0" diff --git a/tokio-threadpool/README.md b/tokio-threadpool/README.md index 995d487b86b..b52a4934c8d 100644 --- a/tokio-threadpool/README.md +++ b/tokio-threadpool/README.md @@ -3,7 +3,7 @@ A library for scheduling execution of futures concurrently across a pool of threads. -[Documentation](https://docs.rs/tokio-threadpool/0.1.12/tokio_threadpool) +[Documentation](https://docs.rs/tokio-threadpool/0.1.13/tokio_threadpool) ### Why not Rayon? diff --git a/tokio-threadpool/src/lib.rs b/tokio-threadpool/src/lib.rs index 92a17bba291..57bf7575b2c 100644 --- a/tokio-threadpool/src/lib.rs +++ b/tokio-threadpool/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/tokio-threadpool/0.1.12")] +#![doc(html_root_url = "https://docs.rs/tokio-threadpool/0.1.13")] #![deny(warnings, missing_docs, missing_debug_implementations)] //! A work-stealing based thread pool for executing futures. diff --git a/CHANGELOG.md b/tokio/CHANGELOG.md similarity index 97% rename from CHANGELOG.md rename to tokio/CHANGELOG.md index db0d1ffcc75..7ba625818a1 100644 --- a/CHANGELOG.md +++ b/tokio/CHANGELOG.md @@ -1,6 +1,11 @@ This changelog only applies to the `tokio` crate proper. Each sub crate maintains its own changelog tracking changes made in each respective sub crate. +# 0.1.18 (March 22, 2019) + +### Added +- `TypedExecutor` re-export and implementations (#993). + # 0.1.17 (March 13, 2019) ### Added diff --git a/tokio/Cargo.toml b/tokio/Cargo.toml index 76477817f1b..5e28092b338 100644 --- a/tokio/Cargo.toml +++ b/tokio/Cargo.toml @@ -7,11 +7,11 @@ name = "tokio" # - README.md # - Update CHANGELOG.md. # - Create "v0.1.x" git tag. -version = "0.1.17" +version = "0.1.18" authors = ["Carl Lerche "] license = "MIT" readme = "README.md" -documentation = "https://docs.rs/tokio/0.1.17/tokio/" +documentation = "https://docs.rs/tokio/0.1.18/tokio/" repository = "https://github.com/tokio-rs/tokio" homepage = "https://tokio.rs" description = """ @@ -71,7 +71,7 @@ tokio-codec = { version = "0.1.0", optional = true } tokio-current-thread = { version = "0.1.3", optional = true } tokio-fs = { version = "0.1.6", optional = true } tokio-io = { version = "0.1.6", optional = true } -tokio-executor = { version = "0.1.5", optional = true, path = "../tokio-executor" } +tokio-executor = { version = "0.1.7", optional = true } tokio-reactor = { version = "0.1.1", optional = true } tokio-sync = { version = "0.1.3", optional = true } tokio-threadpool = { version = "0.1.8", optional = true } diff --git a/tokio/README.md b/tokio/README.md new file mode 100644 index 00000000000..d4147d48792 --- /dev/null +++ b/tokio/README.md @@ -0,0 +1,125 @@ +# Tokio + +A runtime for writing reliable, asynchronous, and slim applications with +the Rust programming language. It is: + +* **Fast**: Tokio's zero-cost abstractions give you bare-metal + performance. + +* **Reliable**: Tokio leverages Rust's ownership, type system, and + concurrency model to reduce bugs and ensure thread safety. + +* **Scalable**: Tokio has a minimal footprint, and handles backpressure + and cancellation naturally. + +[![Crates.io][crates-badge]][crates-url] +[![MIT licensed][mit-badge]][mit-url] +[![Build Status][azure-badge]][azure-url] +[![Gitter chat][gitter-badge]][gitter-url] + +[crates-badge]: https://img.shields.io/crates/v/tokio.svg +[crates-url]: https://crates.io/crates/tokio +[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg +[mit-url]: LICENSE-MIT +[azure-badge]: https://dev.azure.com/tokio-rs/Tokio/_apis/build/status/tokio-rs.tokio?branchName=master +[azure-url]: https://dev.azure.com/tokio-rs/Tokio/_build/latest?definitionId=1&branchName=master +[gitter-badge]: https://img.shields.io/gitter/room/tokio-rs/tokio.svg +[gitter-url]: https://gitter.im/tokio-rs/tokio + +[Website](https://tokio.rs) | +[Guides](https://tokio.rs/docs/getting-started/hello-world/) | +[API Docs](https://docs.rs/tokio/0.1.18/tokio) | +[Chat](https://gitter.im/tokio-rs/tokio) + +## Overview + +Tokio is an event-driven, non-blocking I/O platform for writing +asynchronous applications with the Rust programming language. At a high +level, it provides a few major components: + +* A multithreaded, work-stealing based task [scheduler]. +* A [reactor] backed by the operating system's event queue (epoll, kqueue, + IOCP, etc...). +* Asynchronous [TCP and UDP][net] sockets. + +These components provide the runtime components necessary for building +an asynchronous application. + +[net]: https://docs.rs/tokio/0.1.18/tokio/net/index.html +[reactor]: https://docs.rs/tokio/0.1.18/tokio/reactor/index.html +[scheduler]: https://docs.rs/tokio/0.1.18/tokio/runtime/index.html + +## Example + +A basic TCP echo server with Tokio: + +```rust +extern crate tokio; + +use tokio::prelude::*; +use tokio::io::copy; +use tokio::net::TcpListener; + +fn main() { + // Bind the server's socket. + let addr = "127.0.0.1:12345".parse().unwrap(); + let listener = TcpListener::bind(&addr) + .expect("unable to bind TCP listener"); + + // Pull out a stream of sockets for incoming connections + let server = listener.incoming() + .map_err(|e| eprintln!("accept failed = {:?}", e)) + .for_each(|sock| { + // Split up the reading and writing parts of the + // socket. + let (reader, writer) = sock.split(); + + // A future that echos the data and returns how + // many bytes were copied... + let bytes_copied = copy(reader, writer); + + // ... after which we'll print what happened. + let handle_conn = bytes_copied.map(|amt| { + println!("wrote {:?} bytes", amt) + }).map_err(|err| { + eprintln!("IO error {:?}", err) + }); + + // Spawn the future as a concurrent task. + tokio::spawn(handle_conn) + }); + + // Start the Tokio runtime + tokio::run(server); +} +``` + +More examples can be found [here](examples). + +## Getting Help + +First, see if the answer to your question can be found in the [Guides] or the +[API documentation]. If the answer is not there, there is an active community in +the [Tokio Gitter channel][chat]. We would be happy to try to answer your +question. Last, if that doesn't work, try opening an [issue] with the question. + +[chat]: https://gitter.im/tokio-rs/tokio +[issue]: https://github.com/tokio-rs/tokio/issues/new + +## Supported Rust Versions + +Tokio is built against the latest stable, nightly, and beta Rust releases. The +minimum version supported is the stable release from three months before the +current stable release version. For example, if the latest stable Rust is 1.29, +the minimum version supported is 1.26. The current Tokio version is not +guaranteed to build on Rust versions earlier than the minimum supported version. + +## License + +This project is licensed under the [MIT license](LICENSE). + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in Tokio by you, shall be licensed as MIT, without any additional +terms or conditions. diff --git a/tokio/src/lib.rs b/tokio/src/lib.rs index b60d2fb311a..f8a8d9122e3 100644 --- a/tokio/src/lib.rs +++ b/tokio/src/lib.rs @@ -1,4 +1,4 @@ -#![doc(html_root_url = "https://docs.rs/tokio/0.1.17")] +#![doc(html_root_url = "https://docs.rs/tokio/0.1.18")] #![deny(missing_docs, warnings, missing_debug_implementations)] #![cfg_attr( feature = "async-await-preview",