use std::collections::HashSet;
use super::super::super::app::App;
#[derive(Debug)]
pub struct FrameFacts<'a> {
pub cpu_ceiling: f32,
pub grouped: HashSet<&'a str>,
pub flock_memory: Option<u64>,
}
impl<'a> FrameFacts<'a> {
#[must_use]
pub fn new(app: &'a App) -> Self {
Self {
cpu_ceiling: app.cpu_ceiling(),
grouped: app.grouped_names(),
flock_memory: app
.all_rows()
.iter()
.filter_map(|row| row.info.memory_bytes)
.fold(None, |sum, value| Some(sum.unwrap_or(0) + value)),
}
}
#[must_use]
pub fn is_grouped(&self, name: &str) -> bool {
self.grouped.contains(name)
}
}