reactor-rust

Crates.io Crates.io Build Status License GitHub Release

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

```rust extern crate reactor_rs;

use reactorrs::mono; use reactorrs::prelude::*; use reactor_rs::schedulers; use std::{thread, time::Duration};

fn main() { let result = mono::just(42) .doonsuccess(|n| { println!( "Answer to the Ultimate Question of Life, The Universe, and Everything: {}", n ); }) .subscribeon(schedulers::newthread()) .flatmap(|n| { // flatmap async and sleep 500ms. mono::success(move || { thread::sleep(Duration::frommillis(500)); n * 2 }) .subscribeon(schedulers::new_thread()) }) .map(|n| n * 2) .block() .unwrap() .unwrap(); println!("now it should be {}: actual={}!", 42 * 4, result); } ```