futures-stream-select-all 0.1.2

A futures library adapter for merging the output of several streams
Documentation
# futures-stream-select-all

A [futures](https://docs.rs/futures) library adapter for merging the output of several streams.

It implements a binary-tree structure to efficiently perform [select](https://docs.rs/futures/0.1.14/futures/stream/trait.Stream.html#method.select) for any amount of undelying streams.

## Usage

First, add this to your `Cargo.toml`:

```toml
[dependencies]
futures-stream-select-all = "0.1"
```

Next, add this to your crate:

```rust
extern crate futures-stream-select-all;

use futures_stream_select_all::select_all;
```

## Example

```rust
    use futures::{stream, Stream, Future};
    use futures_stream_select_all::select_all;

    let stream_a = stream::iter(vec![Ok(0), Ok(1)]);
    let stream_b = stream::iter(vec![Ok(2), Ok(3), Ok(4)]);
    let stream_c = stream::iter(vec![Ok(5)]);

    let mut values = select_all::<_, _, ()>(vec![stream_a, stream_b, stream_c])
        .collect()
        .wait()
        .unwrap();
    values.sort();
    assert_eq!(values, vec![0, 1, 2, 3, 4, 5]);
```

# License

`futures-stream-select-all` is primarily distributed under the terms of the MIT license.

See LICENSE-MIT for details.