futures-rs
futures-rs copied to clipboard
Zero-cost asynchronous programming in Rust
Looking at the implementation, it seems like this is as simple as adding `Clone` to the list of derives. I can't think of a reason it shouldn't be cloneable, since...
When using [grpcio](https://github.com/tikv/grpc-rs) we found that if poll mpsc::Receiver and mpsc::Sender in one thread, it could be blocked. We guess it's a bug of futures channel. Here is a little...
I would propose to merge these utility crates to the main `futures` crate. There are some reasons: - `futures` and `futures-util` are almost the same except that futures provide executors...
I would like to have something like `FuturesUnordered` but where the collection behaves more like a `HashMap` (so that I can easily look up a future by its key instead...
We have some disabled tests: * [ ] [`tests_disabled/all.rs`](https://github.com/rust-lang/futures-rs/blob/e363f1839f78e7743209c0bc410f9f94fb82519e/futures/tests_disabled/all.rs) * [ ] [`tests_disabled/stream.rs`](https://github.com/rust-lang/futures-rs/blob/e363f1839f78e7743209c0bc410f9f94fb82519e/futures/tests_disabled/stream.rs) * [x] [`tests_disabled/bilock.rs`](https://github.com/rust-lang/futures-rs/blob/e363f1839f78e7743209c0bc410f9f94fb82519e/futures/tests_disabled/bilock.rs); done in https://github.com/rust-lang/futures-rs/pull/2715 They should be re-enabled. (or remove if it is really unneeded)...
We've got a number of combinators that rely on tricky atomics. I think it might be a good idea to give [loom](https://github.com/tokio-rs/loom) a try.
I run into issues with a type I would like to be `UnwindSafe`. It contains an `AbortHandle` which contains a `AtomicWaker` and these types aren't unwindsafe because `AtomicWaker` contains an...
Almost all functions in `futures::future` are future combinators, `abortable` looks like `FutureExt::remote_handle`, maybe it belongs to `futures::future::FutureExt`?
Inspired by a previous attempt to remove allocation (#606), this version uses three tokens to synchronize access to the locked value and the waker. These tokens are swapped between the...
We've found a nasty footgun when we use `FuturesUnordered` (or `buffered` etc) to get concurrency from a set of futures. Because `FuturesUnordered` only polls its contents when it is polled,...