Expand description
§Introduction
Extensions to the Stream and TryStream traits
which implement behavior that I’ve implemented at least a few times while working with them.
To use these extensions, simply use the JStreamExt or
JTryStreamExt items exported by this crate.
§Summary
Here’s a list of the various extensions provided by this crate:
§Stream Extensions
The extensions to Stream are provided by the JStreamExt
trait.
dedup- remove duplicate items from a streamfold_mut- Similar tofold, but asks for a(&mut T, Self::Item)->Future<Output=()>instead of a(T, Self::Item)->Future<Output=T>folding function.first- turns a stream into a future which emits only the first item emitted by the source.nth- turns a stream into a future which emits an item after skipping a specified number of preceding items.
§TryStream Extensions
The extensions to TryStream are provided by the JTryStreamExt
trait.
try_first- turns the stream into a future which emits only the first result emitted by the source.try_nth- turns the stream into a future which emits an item after skipping a specified number of preceding items, or emits an error immediately when encountered.try_filter_map_ok- similar tofilter_map, except it allows you to filter-map on theOkpart of theTryStream, and it emits any errors immediately when they are encountered.try_dedup- remove duplicate items from a stream, but also emit any errors immediately when they are seen.fuse_on_fail- if an error is seen, “fuse” the stream such that it panics iftry_poll_nextis called after anErr(Self::Error)item is emitted. This also makes aTryStreamimplementFusedStreamregardless if the source implements that trait.try_fold_mut- Similar totry_fold, but asks for a(&mut T, Self::Ok)->Future<Output=Result<(), Self::Error>>instead of a(T, Self::Ok)->Future<Output=Result<T, Self::Error>>folding function.
Modules§
- ops
- The various structs which wrap various
StreamandTryStreamupstreams to implement various behavior live in this module.
Traits§
- JStream
Ext - Extensions to the
Streamtype which aren’t already covered inStreamExt. - JTry
Stream Ext - Extensions to the
TryStreamtype which aren’t already covered by the includedTryStreamExt.