Expand description
Pull-based stream combinators. Pull-based stream combinators for dataflow pipelines.
This module provides pull-based operators that can be chained via method calls
on pull::Pull, similar to iterator adapters.
Re-exports§
pub use half_join_state::HalfJoinState;stdpub use half_join_state::HalfMultisetJoinState;stdpub use half_join_state::HalfSetJoinState;std
Modules§
- half_
join_ state std - State management for symmetric hash joins.
Structs§
- Accumulate
All std - Future for
accumulate_all. - Chain
- Pull combinator that chains two pulls in sequence.
- Collect
- Future that collects all items from a pull into a collection.
- Cross
Singleton - Pull combinator that crosses each item from
item_pullwith a singleton value fromsingleton_pull. - Empty
- A pull that yields no items and immediately ends.
- Enumerate
- Pull combinator that pairs each item with its index.
- Filter
- Pull combinator that yields only items matching a predicate.
- Filter
Map - Pull combinator that both filters and maps items.
- FlatMap
- Pull combinator that maps each item to an iterator and flattens the results.
- Flatten
- Pull combinator that flattens nested iterables.
- Flatten
Stream - Pull combinator that flattens items that are streams by polling each inner stream.
- Fold
std - Fold with an initialization and fold function.
- Fold
From std - Fold but with initialization by converting the first received item.
- ForEach
- Future that runs a closure on each item from a pull.
- FromFn
- A
Pullimplementation created from a closure. - Fuse
- Pull combinator that guarantees
PullStep::Endedis returned forever after the first end. - Inspect
- Pull combinator that calls a closure on each item for side effects, passing the item through.
- Iter
- A pull that wraps an iterator.
- Map
- Pull combinator that transforms each item with a closure.
- NewTick
Join Iter std - Iterator for new tick - iterates over all matches after both sides are drained.
- Next
- A future which resolves with the next item from a
Pull. - Once
- A pull that yields a single item.
- Pending
- A pull that is always pending and never yields items or ends.
- PollFn
- A
Pullimplementation created from a closure. - Reduce
std - Reduce with a reduce function.
- Repeat
- A pull that yields clones of an item forever.
- Send
Push Futurefor pulling from aPulland pushing to aPush.- Send
Sink Futurefor pulling from aPulland pushing to aSink.- Skip
- Pull combinator that skips the first
nitems. - Skip
While - Pull combinator that skips items while a predicate returns
true. - Stream
- A pull that wraps a
futures::Stream. - Stream
Compat - Adapter that wraps a
Pullto implement theStreamtrait. - Stream
Ready - A
Pullimplementation that wraps aStreamand aWaker. - Symmetric
Hash Join std - Pull combinator for symmetric hash join operations.
- Take
- Pull combinator that yields the first
nitems. - Take
While - Pull combinator that yields items while a predicate returns
true. - Zip
- A pull that zips two pulls together, ending when either is exhausted.
- ZipLongest
- A pull that zips two pulls together, continuing until both are exhausted.
Enums§
Traits§
- Accumulator
std - Generalization of fold, reduce, etc.
- Fused
Pull - A marker trait for pulls that are “fused”.
- Pull
- The
Pulltrait represents a pull-based stream that can be polled for items.
Functions§
- accumulate_
all std - Use the accumulator
accumto accumulate all entries in thePullprevinto thehash_map. - empty
- Creates an empty pull that immediately ends.
- from_fn
- Creates a synchronous pull from a closure.
- iter
- Creates a pull from an iterator.
- once
- Creates a pull that yields a single item.
- pending
- Creates a pull that is always pending and never yields items or ends.
- poll_fn
- Creates an asynchronous or synchronous pull from a closure.
- repeat
- Creates a pull that yields clones of the given item forever.
- stream
- Creates a pull from a
futures::Stream. - stream_
compat - Creates a
StreamCompatadapter that wraps aPulland implementsfutures_core::stream::Stream. - stream_
ready - Creates a pull from a
futures::Streamwith a custom waker. - symmetric_
hash_ join std - Creates a symmetric hash join Pull from two input Pulls and their join states.
Type Aliases§
- Symmetric
Hash Join Either std - Type alias for the
Eitherpull returned bysymmetric_hash_join.