fluxion-rx 0.2.0

A reactive stream processing library with ordered semantics, friendly interface, and bullet-proof, state-of-the art test coverage and examples
Documentation
fluxion-rx-0.2.0 has been yanked.

fluxion-rx

Part of Fluxion - A reactive stream processing library for Rust

The main convenience crate for Fluxion, re-exporting all stream operators and utilities with a friendly interface.

Overview

This crate provides a unified API for working with reactive streams in Rust. It brings together:

  • Stream combinators from fluxion-stream
  • Core traits and types from fluxion-core
  • Execution utilities from fluxion-exec
  • Merge operators from fluxion-merge and fluxion-ordered-merge

Quick Start

Add this to your Cargo.toml:

[dependencies]

fluxion-rx = "0.2.0"

Example

use fluxion_rx::FluxionStream;
use futures::StreamExt;

#[tokio::main]
async fn main() {
    let (tx1, rx1) = tokio::sync::mpsc::unbounded_channel();
    let (tx2, rx2) = tokio::sync::mpsc::unbounded_channel();

    let stream1 = FluxionStream::from_unbounded_receiver(rx1);
    let stream2 = FluxionStream::from_unbounded_receiver(rx2);

    let combined = stream1.combine_latest(stream2);

    tx1.send(1).unwrap();
    tx2.send("hello").unwrap();

    // Process combined stream...
}

Features

  • Temporal ordering: Strong guarantees via sequence numbers
  • Composable operators: combine_latest, with_latest_from, merge, and more
  • Efficient: Minimal allocations, optimized for performance
  • Well-tested: Extensive test coverage including edge cases

Documentation

For detailed documentation, see:

License

Apache-2.0