Skip to main content

Crate rskit_stream

Crate rskit_stream 

Source
Expand description

Foundational async stream toolkit.

rskit-stream owns the opinion-free, layer-zero building blocks for the “observe → fan-out → consume” graph that recurs across config reloads, service discovery, cache invalidation, secret rotation, and message consumers. Sources, the bounded fan-out bus, cancellable consumer tasks, and the futures::Stream extension operators that chain them all live together at the foundation where any higher layer can reuse them without inverting the layer order.

Sequential, named-step workflows (run N steps, report progress, cancel) are a different concern and live in rskit-chain.

Re-exports§

pub use broadcaster::BroadcastStream;
pub use broadcaster::Broadcaster;
pub use broadcaster::DEFAULT_BROADCAST_BUFFER;
pub use ext::RskitStreamExt;
pub use operators::combine::concat;
pub use operators::combine::merge;
pub use sink::collect;
pub use sink::drain;
pub use sink::for_each;
pub use source::from_channel;
pub use source::from_fn;
pub use source::from_slice;
pub use task::SpawnedTask;
pub use task::TaskGroup;

Modules§

broadcaster
Bounded fan-out broadcaster source (Broadcaster<T>). Bounded fan-out broadcaster source.
ext
Extension trait adding rskit operators to any Stream. RskitStreamExt — ergonomic extension methods on futures::Stream.
operators
Higher-level stream operators (map, filter, fan-out, windowing, etc.).
sink
Terminal sink combinators (collect, drain, for_each).
source
Stream source constructors (from_slice, from_fn, from_channel).
task
Cancellable owned tasks (SpawnedTask, TaskGroup). Cancellable owned tasks.

Structs§

CancellationToken
A token which can be used to signal a cancellation request to one or more tasks.