pub struct Baseline {
pub seq: u64,
pub manifest_etag: Option<String>,
pub entries: BTreeMap<String, BaselineEntry>,
pub inst_base: BTreeMap<String, String>,
pub prev_scan: BTreeSet<String>,
}Expand description
The persisted baseline snapshot: what this syncer believes the
bucket holds AND has integrated locally. Distinct from inst_base
(the manifest view at our last install — the three-way merge base):
consuming a HITL entry advances the baseline for that path but not
the merge base. The formal model carries the same split
(baseline vs instBase in LeanSubtree.tla) — collapsing them made a
syncer mistake its own consumed adoption for a foreign entry.
Fields§
§seq: u64Manifest seq at our last install/checkout.
manifest_etag: Option<String>Manifest document ETag we expect at the next CAS.
entries: BTreeMap<String, BaselineEntry>§inst_base: BTreeMap<String, String>The merge base: path -> ETag as cited by the manifest we last installed (or checked out).
prev_scan: BTreeSet<String>Paths present at the PREVIOUS scan (the two-consecutive-scans deletion rule: absence must survive two scans).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Baseline
impl<'de> Deserialize<'de> for Baseline
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Baseline
impl RefUnwindSafe for Baseline
impl Send for Baseline
impl Sync for Baseline
impl Unpin for Baseline
impl UnsafeUnpin for Baseline
impl UnwindSafe for Baseline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more