Understanding futures

If we use the std::io::Read and std::io::Write traits in our code, we will be able to easily read and write data from I/O interfaces, but every time we do it, the thread doing the call will block until the data is received. Luckily, the great crate ecosystem Rust has brings us great opportunities to improve this situation.

In many programming languages, you can find the concept of not yet available data. In JavaScript, for example, they are called promises, and in Rust, we call them futures. A future represents any data that will be available at some point in the future but may not be available yet. You can check whether a future has a value at any time, and get it if it does. If not, you can either perform some computation ...

Get Rust High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.