Netflix/RxJava — pull request #871 by akarnokd (2014-02-13 14:43:16+00:00)
Title: Blocking zip operator

Proposed solution to #867

- Added overloads to zip many and zip 2 only. If my approach is favorable, other overloads can be added.
- Javadoc might need some rephrasing.
- Contains fix for #868 but no test.
- Overloads take a bufferSize > 0 indicating the queue size, bufferSize <= 0 behaves as the original zip.
- Due to the internals of zip, a bufferSize of 0 does not work (i.e., everyone blocks on add and noone can call tick). For that, zip would need different internals with CyclicBarrier and other magic. **Should I work on this case as well?**
- Source completion is blocking as well right now; for example, an empty producer with a slow partner will complete only if the slow partner fires its first event. **Should it terminate as soon as possible?**