1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pub trait Source {
type Item;
type Error: std::error::Error;
type DistIter: crate::dist_iter::DistributedIterator<Item = Result<Self::Item, Self::Error>>;
type Iter: Iterator<Item = Result<Self::Item, Self::Error>>;
fn dist_iter(self) -> Self::DistIter;
fn iter(self) -> Self::Iter;
}
pub trait Sink<I>
where
I: crate::dist_iter::DistributedIteratorMulti<Self::Item>,
{
type Item;
type Error: std::error::Error;
type DistDest: crate::dist_iter::DistributedReducer<I, Self::Item, Result<(), Self::Error>>;
}