fn tick()

in heatmap/src/heatmap.rs [202:220]


    fn tick(&self, time: Instant) {
        loop {
            let next_tick = self.next_tick.load(Ordering::Relaxed);
            if time < next_tick {
                return;
            } else {
                self.next_tick.fetch_add(self.resolution, Ordering::Relaxed);
                self.current.fetch_add(1, Ordering::Relaxed);
                if self.current.load(Ordering::Relaxed) >= self.slices.len() {
                    self.current.store(0, Ordering::Relaxed);
                }
                let current = self.current.load(Ordering::Relaxed);
                if let Some(slice) = self.slices.get(current) {
                    let _ = self.summary.subtract(slice);
                    slice.clear();
                }
            }
        }
    }