use std::collections::BTreeMap;
use serde::{Deserialize, Serialize};
pub use nodedb_types::calvin::{EngineKeySet, PassiveReadKey, SortedVec};
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Serialize,
Deserialize,
zerompk::ToMessagePack,
zerompk::FromMessagePack,
)]
pub struct DependentReadSpec {
pub passive_reads: BTreeMap<u32, Vec<PassiveReadKey>>,
}
impl DependentReadSpec {
pub fn total_bytes(&self) -> usize {
self.passive_reads
.values()
.flat_map(|ks| ks.iter())
.map(|k| k.engine_key.serialized_size_hint())
.sum()
}
}