ReactiveCocoa/ReactiveCocoa — pull request #920 by jspahrsummers (2013-11-07 00:02:53+00:00)
Title: [WIP] Operator-based backpressure

**:warning: NOT READY TO MERGE :warning:**

_Depends on #917._

I've realized that backpressure can be modeled using [a signal of cold signals](https://gist.github.com/jspahrsummers/5032383). Instead of tearing apart `RACSignal` and putting it back together again (#808), we can just provide some operators to make that pattern easier and more obvious.

`-flatten:` (the bounded version of `Merge()` in .NET parlance) already sorta does this, so we only need to customize its behavior when the maximum has been reached. As a bonus, `-switchToLatest` (`Switch`) can then be implemented in terms of that operator, just like `-concat` is.

**To do:**

- [ ] Capture https://gist.github.com/jspahrsummers/5032383 in a reusable operator or pattern.
- [ ] Test the "drop latest" policy.
- [ ] Test the "drop earliest" policy with N > 1 concurrent signals.
- [ ] Add some backpressure samples… somewhere. (As tests?)

@paulcbetts @erikprice @mattpodwysocki @headinthebox