#futures #async #future

futures-preview

An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces

20 releases

✓ Uses Rust 2018 edition

0.3.0-alpha.19 Sep 26, 2019
0.3.0-alpha.17 Jul 3, 2019
0.3.0-alpha.13 Feb 21, 2019
0.3.0-alpha.11 Dec 27, 2018
0.3.0-alpha.2 Jul 30, 2018

#6 in Asynchronous

Download history 9147/week @ 2019-08-14 12065/week @ 2019-08-21 9695/week @ 2019-08-28 9852/week @ 2019-09-04 11298/week @ 2019-09-11 13690/week @ 2019-09-18 14544/week @ 2019-09-25 16126/week @ 2019-10-02 14785/week @ 2019-10-09 18306/week @ 2019-10-16 19005/week @ 2019-10-23 19830/week @ 2019-10-30 24334/week @ 2019-11-06 21843/week @ 2019-11-13 21217/week @ 2019-11-20

38,004 downloads per month
Used in 235 crates (172 directly)

MIT/Apache

1MB
17K SLoC

futures-rs

Zero-cost asynchronous programming in Rust

Build Status Crates.io Rustc Version

Documentation | Website

futures-rs is a library providing the foundations for asynchronous programming in Rust. It includes key trait definitions like Stream, as well as utilities like join!, select!, and various futures combinator methods which enable expressive asynchronous control flow.

Usage

Add this to your Cargo.toml:

[dependencies]
futures = "0.3"

Now, you can use futures-rs:

use futures::future::Future;

The current futures-rs requires Rust 1.39 or later.

Feature std

Futures-rs works without the standard library, such as in bare metal environments. However, it has a significantly reduced API surface. To use futures-rs in a #[no_std] environment, use:

[dependencies]
futures = { version = "0.3.1", default-features = false }

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in futures-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies