#[derive(Default, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub struct EventStatistics
{
pub populated: bool,
pub frozen: bool,
}
impl EventStatistics
{
#[inline(always)]
pub(super) fn from_file(file_path: &Path) -> Result<Self, StatisticsParseError>
{
let mut populated = None;
let mut frozen = None;
parse_key_value_statistics(file_path, &mut |name, value| match name
{
b"populated" =>
{
populated = Some(parse_usize_to_boolean(name, value)?);
Ok(())
}
b"frozen" =>
{
frozen = Some(parse_usize_to_boolean(name, value)?);
Ok(())
}
_ => Ok(()),
})?;
Ok
(
Self
{
populated: unwrap_statistic(populated, b"populated")?,
frozen: unwrap_statistic(frozen, b"frozen")?,
}
)
}
}