Uses old Rust 2015
0.1.0 |
|
---|
#13 in #threaded
35KB
524 lines
The pipeline crate
This crate contains all functions for pipeline construction
Pipelines are a very powerful concept that allow advanced dataflow design through a program. They are also asynchronous and inherently threaded.
Design
Pipelines are a thin abstraction layer on top of the channel infrastructure already included in the standard library. Functions take Receivers as arguments and return Receivers, meanwhile spawning threads that consume the passed receiver(s). The pipeline functions can take transforming closures, predicates for selection, or have no inherent logic at all (like (inverse) multiplexers). There is also a number of functions taking no Receiver but instead feeding other things (like iterators, line-by-line text, files or standard input) into a channel. Lastly, there are endpoint functions that, for example, collect channel output into lists or write them to standard output or a file.
Dependencies
~165KB