fluxus-api 0.1.2

High-level API for Fluxus stream processing engine
Documentation

Fluxus API

Core API definitions and interfaces for the Fluxus stream processing engine.

Overview

This crate provides the public API for building stream processing applications with Fluxus. It includes:

  • DataStream - The main abstraction for working with data streams
  • Source and Sink interfaces
  • Stream operations (map, filter, aggregate, etc.)
  • Window configurations
  • I/O utilities

Key Components

DataStream

The DataStream type is the main entry point for building stream processing pipelines:

DataStream::new(source)
    .map(|x| x * 2)
    .filter(|x| x > 0)
    .window(WindowConfig::Tumbling { size_ms: 1000 })
    .aggregate(initial_state, |state, value| /* aggregation logic */)
    .sink(sink)

Windows

Supported window types:

  • Tumbling Windows - Fixed-size, non-overlapping windows
  • Sliding Windows - Fixed-size windows that slide by a specified interval
  • Session Windows - Dynamic windows based on activity timeouts

I/O

Pre-built source and sink implementations:

  • CollectionSource - Create a stream from a collection
  • CollectionSink - Collect stream results into a collection
  • Additional I/O implementations for files, networks, etc.

Usage

Add this to your Cargo.toml:

[dependencies]
fluxus-api = "0.1"

See the fluxus-examples crate for complete usage examples.