Trait git_features::parallel::reduce::Reduce [−][src]
pub trait Reduce {
type Input;
type FeedProduce;
type Output;
type Error;
fn feed(
&mut self,
item: Self::Input
) -> Result<Self::FeedProduce, Self::Error>;
fn finalize(self) -> Result<Self::Output, Self::Error>;
}
Expand description
An trait for aggregating items commonly produced in threads into a single result, without itself needing to be thread safe.
Associated Types
The type fed to the reducer in the feed()
method.
It’s produced by a function that may run on multiple threads.
type FeedProduce
type FeedProduce
The type produced once by the finalize()
method.
For traditional reducers, this is the value produced by the entire operation. For those made for step-wise iteration this may be aggregated statistics.
Required methods
Called each time a new item
was produced in order to aggregate it into the final result.
If an Error
is returned, the entire operation will be stopped.