in heatmap/src/heatmap.rs [223:241]
fn get_slice(&self, index: usize) -> Option<Window> {
if let Some(histogram) = self.slices.get(index) {
let shift = if index > self.current.load(Ordering::Relaxed) {
self.resolution.mul_f64(
(self.slices.len() + self.current.load(Ordering::Relaxed) - index) as f64,
)
} else {
self.resolution
.mul_f64((self.current.load(Ordering::Relaxed) - index) as f64)
};
Some(Window {
start: self.next_tick.load(Ordering::Relaxed) - shift - self.resolution,
stop: self.next_tick.load(Ordering::Relaxed) - shift,
histogram,
})
} else {
None
}
}