5 releases
0.0.5 | Oct 8, 2019 |
---|---|
0.0.4 | Oct 8, 2019 |
0.0.3 | Sep 27, 2019 |
0.0.2 | Sep 25, 2019 |
0.0.1 | Sep 25, 2019 |
#737 in Concurrency
38KB
1.5K
SLoC
reactor-rust
reactor-rust is an implementation of the Reactive-Streams in Rust. It is under active development. Do not use it in a production environment!
Install
Add reactor_rs = 0.0.3
in your Cargo.toml
.
Example
Here are some basic example codes:
Mono
extern crate reactor_rs;
use reactor_rs::mono;
use reactor_rs::prelude::*;
use reactor_rs::schedulers;
use std::{thread, time::Duration};
fn main() {
let result = mono::just(42)
.do_on_success(|n| {
println!(
"Answer to the Ultimate Question of Life, The Universe, and Everything: {}",
n
);
})
.subscribe_on(schedulers::new_thread())
.flatmap(|n| {
// flatmap async and sleep 500ms.
mono::success(move || {
thread::sleep(Duration::from_millis(500));
n * 2
})
.subscribe_on(schedulers::new_thread())
})
.map(|n| n * 2)
.block()
.unwrap()
.unwrap();
println!("now it should be {}: actual={}!", 42 * 4, result);
}
Dependencies
~3MB
~46K SLoC