Provides an IntervalBuffer that can be used to buffer a stream and emit the values at a regular interval.

This is useful for when you receive streaming data but want to parse it in bulk.

```rust extern crate irc; extern crate failure; extern crate tokiointervalbuffer; extern crate futures; extern crate tokio;

use irc::client::prelude::*; use tokiointervalbuffer::IntervalBuffer;

fn main() { tokio::run(futures::future::lazy(|| { let client = IrcClient::from_config(Config { nickname: Some(String::from("...")), server: Some(String::from("...")), channels: Some(vec![String::from("...")]), ..Default::default() }) .expect("Could not create an irc client");

    // Take the IRC stream and process all the messages every 10 seconds
    let buffered_receiver = IntervalBuffer::<_, _, failure::Error>::new(
        client
            .stream()
            .map_err(|e| failure::format_err!("Client stream error: {:?}", e)),
        std::time::Duration::from_secs(10),
    );

    buffered_receiver
        .for_each(|b| {
            println!("Buffer: {:?}", b);
            Ok(())
        })
        .map_err(|e| {
            println!("Buffered receiver error: {:?}", e);
        })
}));

} ```