use std::collections::HashMap;
use crate::client::proto::common::microgrid::electrical_components::ElectricalComponentTelemetry;
#[derive(Clone, Debug, Default, PartialEq)]
pub struct ComponentHealthPartition {
pub healthy: HashMap<u64, ElectricalComponentTelemetry>,
pub unhealthy: HashMap<u64, Option<ElectricalComponentTelemetry>>,
}
impl ComponentHealthPartition {
pub(crate) fn mark_healthy(&mut self, id: u64, data: ElectricalComponentTelemetry) {
self.healthy.insert(id, data);
self.unhealthy.remove(&id);
}
pub(crate) fn mark_unhealthy(&mut self, id: u64, data: Option<ElectricalComponentTelemetry>) {
self.unhealthy.insert(id, data);
self.healthy.remove(&id);
}
}