Zero-cost asynchronous programming in Rust
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.
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.
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", default-features = false }
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
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.