summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
AgeCommit message (Collapse)Author
2019-01-22Introduce tokio-sync crate containing synchronization primitives. (#839)Carl Lerche
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.
2019-01-07tokio: update tokio-threadpool minimum version (#838)Sean McArthur
2019-01-06Bump version to 0.1.14. (#836)Carl Lerche
Also bumps: * tokio-async-await (0.1.5) * tokio-executor (0.1.6) * tokio-fs (0.1.5) * tokio-io (0.1.11) * tokio-reactor (0.1.8) * tokio-tcp (0.1.3) * tokio-threadpool (0.1.10) * tokio-tls (0.2.1) * tokio-uds (0.2.5) ...and updates LICENSE files to 2019.
2019-01-04Provide optional features on tokio crate (#808)Sean McArthur
Disabling all features means the only dependency is `futures`. Relevant pieces of the API can then be enabled with the following features: - `codec` - `fs` - `io` - `reactor` - `tcp` - `timer` - `udp` - `uds` This also introduces the beginnings of enabling only certain pieces of the `Runtime`. As a start, the entire default runtime API is enabled via the `rt-full` feature.
2018-11-21Bump version to v0.1.13 (#771)Carl Lerche
This also bumps the following sub crate versions: * tokio-current-thread (0.1.4) * tokio-reactor (0.1.7) * tokio-signal (0.2.7) * tokio-threadpool (0.1.9) * tokio-timer (0.2.8) * tokio-udp (0.1.3) * tokio-uds (0.2.4)
2018-10-29Add tokio-buf and a `BufStream` trait (#611)Carl Lerche
The `BufStream` trait provides an improved API for working with asynchronous streams of bytes compared to `Stream<Item = [u8]>`
2018-10-23Bump version to 0.1.12 (#718)Carl Lerche
Also bumps the following sub-crates: * tokio-fs (0.1.4) * tokio-io (0.1.10) * tokio-signal (0.2.6) * tokio-threadpool (0.1.8) * tokio-uds (0.2.3)
2018-10-03threadpool: spawn new tasks onto a random worker (#683)Stjepan Glavina
* threadpool: submit new tasks to a random worker * Revert unnecessary version bumps
2018-10-02runtime: create reactor per worker (#660)Stjepan Glavina
2018-09-28Bump version to v0.1.11 (#675)Carl Lerche
This fixes the dependency on `tokio-async-await` to not be scoped to unix platforms. Fixes #673
2018-09-27Bump version to v0.1.10, fixing minimal versions (#671)Carl Lerche
Some minimal versions were not correctly updated. Also updates: * tokio-current-thread (v0.1.3).
2018-09-26Bump version to v0.1.9 (#666)Carl Lerche
This also includes bumps to subcrates. * tokio-async-await (0.1.4) * tokio-codec (0.1.1) * tokio-current-thread (0.1.2) * tokio-executor (0.1.5) * tokio-io (0.1.9) * tokio-reactor (0.1.6) * tokio-tcp (0.1.2) * tokio-threadpool (0.1.7) * tokio-timer (0.2.7)
2018-09-26async-await: track nightly changes (#661)Carl Lerche
The `tokio-async-await` crate is no longer a facade. Instead, the `tokio` crate provides a feature flag to enable async/await support.
2018-09-14signal: Link tokio-signal and tokio cratesMichal 'vorner' Vaner
References in the Cargo.toml, various links.
2018-08-28Fix tokio-uds version (#580)Josef Brandl
2018-08-27add experimental async/await support. (#582)Carl Lerche
This patch adds experimental async/await support to Tokio. It does this by adding feature flags to existing libs only where necessary in order to add nightly specific code (mostly `Unpin` implementations). It then provides a new crate: `tokio-async-await` which is a shim layer on top of `tokio`. The `tokio-async-await` crate is expected to look exactly like `tokio` does, but with async / await support. This strategy reduces the amount of cfg guarding in the main libraries. This patch also adds `tokio-channel`, which is copied from futures-rs 0.1 and adds the necessary `Unpin` implementations. In general, futures 0.1 is mostly unmaintained, so it will make sense for Tokio to take over maintainership of key components regardless of async / await support.
2018-08-24Move `tokio_io::codec::length_delimited` module to `tokio::codec` (#568)Eliza Weisman
* Deprecate tokio-io::length_delimited * Move `length_delimited` into `tokio::codec` Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2018-08-24Bump version to v0.1.8 (#566)Carl Lerche
This also bumps a number of sub crates: * tokio-executor (0.1.3) * tokio-io (0.1.8) * tokio-reactor (0.1.4) * tokio-threadpool (0.1.6) * tokio-timer (0.2.6) * tokio-udp (0.1.2)
2018-08-15Expose tokio_uds from the root crate (#526)Martin Chaine
2018-08-14Reexport Encoder, Decoder, Framed* from tokio::codec (#499)Roman
2018-08-10Routine dependencies update (#533)Mateusz MikuĊ‚a
* Update dependencies * Replace deprecated tempdir with tempfile
2018-08-08Move tokio-tls into workspace (#529)Sean McArthur
2018-06-12tokio-current-thread crate (#370)jpbriquet
Extract `tokio::executor::current_thread` to a tokio-current-thread crate. Deprecated fns stay in the old location. The new crate only contains thee most recent API.
2018-06-08Remove `tokio-codec` dependency from `tokio` (#397)Carl Lerche
This will be added again later once types are re-exported.
2018-06-06Bump version to v0.1.7 (#396)Carl Lerche
This also bumps the versions of: * tokio-threadpool * tokio-timer
2018-06-04Create tokio-codec (#360)Bryan Burgers
Create a new tokio-codec crate with many of the contents of `tokio_io::codec`.
2018-05-29Remove futures2 crate (#380)Carl Lerche
2018-05-14Import tokio-uds (#365)Carl Lerche
This imports tokio-uds from the dedicated repo.
2018-05-02Fix some dependency versions (#337)Carl Lerche
2018-05-02Bump version to v0.1.6 (#336)Carl Lerche
2018-05-02Filesystem manipulation APIs. (#323)Carl Lerche
This patch adds a new crate: tokio-fs. This crate provides a wrapper around `std` functionality that can only be performed using blocking operations. This primarily includes filesystem operations, but it also includes standard input, output, and error access as these streams cannot be safely switched to non-blocking mode in a portable way. These wrappers call the `std` functions from within a `blocking` annotation which allows the runtime to compensate for the fact that the thread will potentially remain blocked in a system call.
2018-05-02Remove `futures2` feature from Cargo.toml files (#334)Carl Lerche
Currently, the state of the futures2 integration is pretty broken. This patch removes the feature flag, preventing users from trying to use it. In the future, it can be brought back when the implementation is fixed.
2018-04-04Update Cargo.toml (#293)David
2018-04-01Fix Appveyor badge on crates.io page (#280)Roman
2018-03-30Actually bump tokio to v0.1.5 (#273)Carl Lerche
2018-03-30Fix tokio dependency versions (#272)Carl Lerche
2018-03-30Integrate timers with runtime. (#266)Carl Lerche
This patch integrate the new timer implementation with the runtime by initializing a timer per worker thread. This allows minimizing the amount of synchronization needed for using timers.
2018-03-28Provide a timer implementation (#249)Carl Lerche
This patch adds a new crate: tokio-timer. This crate provides an efficient timer implemeentation designed for use in Tokio based applications. The timer users a hierarchical hashed timer wheel algorithm with six levels, each having 64 slots. This allows the timer to have a resolution of 1ms while maintaining O(1) complexity for insert, removal, and firing of timeouts. There already exists a tokio-timer crate. This is a complete rewrite which solves the outstanding problems with the existing tokio-timer library. Closes #146.
2018-03-23Bump version to v0.1.4 (#252)Carl Lerche
This also bumps: * tokio-executor: v0.1.1 * tokio-reactor: v0.1.1 * tokio-threadpool: v0.1.1
2018-03-14Move tokio::net module into tokio tcp/udp crates (#224)Sam Rijs
2018-03-13Simultaneous futures compat (#172)Aaron Turon
This patch adds opt-in support for futures 0.2.
2018-03-09Relicense Tokio exclusively under the MIT license. (#215)Carl Lerche
This patch relicenses the Tokio project exclusively under the MIT license. Before this, the project was dual licensed under MIT and Apache 2. As such, switching to only MIT is permitted. Fixes #202
2018-03-09Bump version to v0.1.3 (#213)Carl Lerche
2018-03-08Bump tokio to v0.1.2 (#201)Carl Lerche
This also bumps tokio-io to v0.1.6 and prepares for the initial release of tokio-executor, tokio-reactor, and tokio-threadpool.
2018-03-08Depend on latest release of Mio (#198)Carl Lerche
2018-03-07Improve `poll_read_ready` implementation (#193)Carl Lerche
This patch updates `poll_read_ready` to take a `mask` argument, enabling the caller to specify the desired readiness. `need_read` is renamed to `clear_read_ready` and also takes a mask. This enables a caller to listen for HUP events without requiring reading from the I/O resource.
2018-03-02Extract the reactor to a dedicated crate. (#169)Carl Lerche
This allows libraries that require access to reactor related types to depend on this crate without having to depend on the entirety of Tokio. For example, libraries that implement their custom I/O resource will need to access `Registration` or `PollEvented`.
2018-03-01Add `io` facade and update `reactor` docs (#166)Carl Lerche
This patch updates the documentation for a number of APIs. It also introduces a prelude module and an io facade module, re-exporting types from tokio-io.
2018-02-21Introduce the Tokio runtime: Reactor + Threadpool (#141)Carl Lerche
This patch is an intial implementation of the Tokio runtime. The Tokio runtime provides an out of the box configuration for running I/O heavy asynchronous applications. As of now, the Tokio runtime is a combination of a work-stealing thread pool as well as a background reactor to drive I/O resources. This patch also includes tokio-executor, a hopefully short lived crate that is based on the futures 0.2 executor RFC. * Implement `Park` for `Reactor` This enables the reactor to be used as the thread parker for executors. This also adds an `Error` component to `Park`. With this change, a `Reactor` and a `CurrentThread` can be combined to achieve the capabilities of tokio-core.
2018-02-09Bump version to v0.1.1 (#131)Carl Lerche