waybar-collectd/draw/src/container.rs

26 lines
512 B
Rust

pub struct Container {
max_samples: u32,
data: Vec<Vec<f32>>,
}
impl Container {
pub fn new(max_samples: u32) -> Container {
Container {
max_samples: max_samples,
data: vec![],
}
}
pub fn push(&mut self, data: Vec<f32>) {
self.data.push(data);
if self.data.len() as u32 > self.max_samples {
self.data.remove(0);
}
}
pub fn iter(&self) -> std::slice::Iter<'_, Vec<f32>> {
self.data.iter()
}
}