Skip to content
This repository was archived by the owner on Oct 30, 2019. It is now read-only.

Rethinking the bounded mpsc channel #11

Closed
danburkert opened this issue Apr 20, 2018 · 3 comments
Closed

Rethinking the bounded mpsc channel #11

danburkert opened this issue Apr 20, 2018 · 3 comments

Comments

@danburkert
Copy link

Hi all,

I'd like to bring rust-lang/futures-rs#800 to the attention of the WG. I won't reproduce the entire content of the issue here, but the short version is that the current bounded mpsc channel in futures-rs is difficult to use while preserving back-pressure.

That issue left off with a PoC channel implementation that does a better job at enforcing back-pressure, and shouldn't have much of an effect otherwise on the API or performance. The hope is that proof of concept can serve as the basis or inspiration for overhauling the current version in futures-rs.

Hopefully this is in the purview of the WG, because I think it's a critical component for building robust async systems!

@aturon aturon added the futures label Apr 20, 2018
@aturon
Copy link
Contributor

aturon commented Apr 20, 2018

This is for sure within scope! In general I don't think our backpressure story is fully baked.

(The futures team has been primarily focused on the 0.3 work of getting the core Future and Stream traits ready for async/await, but this can absolutely proceed in parallel)

@cramertj
Copy link
Collaborator

I'm actively working on a PR for fixing this issue. I'll post here with updates when I have a prototype or a PR ready!

@aturon
Copy link
Contributor

aturon commented Apr 24, 2018

There's some very interesting discussion happening on the PR.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants