Skip to main content

fast_pull/base/
progress.rs

1use core::ops::Range;
2
3pub type ProgressEntry = Range<u64>;
4
5pub trait Total {
6    fn total(&self) -> u64;
7}
8
9impl Total for ProgressEntry {
10    #[inline(always)]
11    fn total(&self) -> u64 {
12        self.end.saturating_sub(self.start)
13    }
14}
15
16impl Total for Vec<ProgressEntry> {
17    fn total(&self) -> u64 {
18        self.iter().map(|r| r.total()).sum()
19    }
20}