kmp_application/memory/
write_clocks.rs1use super::{MemoryData, WriteClockCoverage};
2
3#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
5pub struct WriteClocks {
6 pub entries: usize,
7 pub occurred: WriteClockCoverage,
8 pub observed: WriteClockCoverage,
9 pub ingested: WriteClockCoverage,
10 pub valid_from: WriteClockCoverage,
11 pub valid_until: WriteClockCoverage,
12}
13
14impl WriteClocks {
15 pub(super) fn for_memory(memory: &MemoryData) -> Self {
16 Self {
17 entries: memory.entries.len(),
18 occurred: WriteClockCoverage::for_memory(memory, |c| c.occurred_at.as_deref()),
19 observed: WriteClockCoverage::for_memory(memory, |c| c.observed_at.as_deref()),
20 ingested: WriteClockCoverage::for_memory(memory, |c| c.ingested_at.as_deref()),
21 valid_from: WriteClockCoverage::for_memory(memory, |c| c.valid_from.as_deref()),
22 valid_until: WriteClockCoverage::for_memory(memory, |c| c.valid_until.as_deref()),
23 }
24 }
25}