test/
test.rs

1extern crate rivers;
2
3use rivers::adapters::{Key, Value};
4use rivers::event::Event;
5use rivers::stream::{Stream, StreamSource};
6use rivers::Rivers;
7
8#[tokio::main]
9async fn main() {
10    let events = vec![
11        Event::new(vec![0x1], vec![0x2]),
12        Event::new(vec![0x3], vec![0x4]),
13        Event::new(vec![0x5], vec![0x6]),
14    ];
15
16    let rivers = Rivers::new(events)
17        .stream("key and value", key_and_value_handler)
18        .stream("value only", value_handler);
19
20    rivers.run().await
21}
22
23async fn value_handler(mut s: StreamSource<Value>) {
24    while let Some(Value(v)) = s.next().await {
25        println!("value: {:02X?}", v);
26    }
27}
28
29async fn key_and_value_handler(mut s: StreamSource<(Key, Value)>) {
30    while let Some((Key(k), Value(v))) = s.next().await {
31        println!("key: {:02X?}, value: {:02X?}", k, v);
32    }
33}