Skip to main content

Module push

Module push 

Source
Expand description

Push-based stream combinators. Push-based stream combinators for dataflow pipelines.

This module provides push-based operators that mirror the pull-based operators in the parent module, but work in the opposite direction: items are pushed into a pipeline rather than pulled from it.

Re-exports§

pub use demux_var::DemuxVar;variadics
pub use demux_var::PushVariadic;variadics
pub use demux_var::demux_var;variadics

Modules§

demux_varvariadics
DemuxVar push combinator for variadic demultiplexing.

Structs§

Fanout
Push combinator that clones each item and pushes to both downstream pushes.
Filter
Push combinator that only pushes items matching a predicate.
FilterMap
Push combinator that both filters and maps items.
FlatMap
Push combinator that maps each item to an iterator and pushes each element.
FlatMapStream
Push combinator that maps each item to a stream and pushes each element downstream.
Flatten
Push combinator that flattens iterable items by pushing each element downstream.
FlattenStream
Push combinator that flattens stream items by polling each stream and pushing elements downstream.
ForEach
Terminal push combinator that consumes each item with a closure.
Inspect
Push combinator that calls a closure on each item for side effects before pushing downstream.
Map
Push combinator that transforms each item with a closure before pushing downstream.
Persistalloc
Special push operator for the persist operator.
ResolveFutures
Push operator that receives futures, queues them, and pushes their resolved outputs downstream.
Sink
Adapter that wraps a futures_sink::Sink to implement the Push trait.
SinkCompat
Adapter that wraps a Push to implement the Sink trait.
Unzip
Push combinator that splits (A, B) items into two separate downstream pushes.
VecPushalloc
Terminal push operator that collects items into a Vec.

Enums§

PushStep
The result of pushing an item into a Push.

Traits§

Push
The Push trait represents a push-based pipeline that items can be sent into.

Functions§

fanout
Creates a Fanout push that clones each item and sends to both downstream pushes.
filter
Creates a Filter push that filters items based on a predicate.
filter_map
Creates a FilterMap push that filters and maps items in one step.
flat_map
Creates a FlatMap push that maps each item to an iterator and flattens the results.
flat_map_stream
Creates a FlatMapStream push that maps each item to a stream and flattens the results.
flatten
Creates a Flatten push that flattens items that are iterators.
flatten_stream
Creates a FlattenStream push that flattens items that are streams.
for_each
Creates a ForEach terminal push that consumes each item with a function.
inspect
Creates an Inspect push that inspects each item without modifying it.
map
Creates a Map push that applies a function to each item.
persist_statealloc
Creates a Persist using an external Vec state for buffering items.
resolve_futures_state
Creates a ResolveFutures push that resolves futures and sends their outputs.
sink
Creates a Sink push that wraps a futures_sink::Sink.
sink_compat
Creates a SinkCompat adapter that wraps a Push and implements futures_sink::Sink.
unzip
Creates an Unzip push that splits tuple items into two separate pushes.
vec_pushalloc
Creates a VecPush that pushes items into the given Vec.