pub struct BaselineEntry {
pub etag: String,
pub key: Option<String>,
pub generation: u64,
pub size: u64,
pub mtime_unix: i64,
pub mtime_nanos: Option<u32>,
pub mode: Option<u32>,
pub crc64_b64: Option<String>,
pub racy: bool,
pub change: Option<ChangeStamp>,
}Expand description
One published path as this syncer last knew it: the handle it integrated (the citation repair re-cites it, the merge recognises it as this tree’s own) and the ETag that attests its bytes.
Fields§
§etag: String§key: Option<String>The HANDLE this tree integrated at the path — its own upload, the
entry it consumed, the citation it checked out (design 2026-09-19,
R1-R2). The merge counts a document citing it as citing THIS tree’s
version, not a foreign one. None only on a baseline written
before handles.
generation: u64§size: u64§mtime_unix: i64§mtime_nanos: Option<u32>Sub-second mtime, when this entry was written by a syncer that
stamps it; None compares as “unknown” (scan::stat_changed).
mode: Option<u32>The mode (scan::PERM_BITS of it) the document cites for the
version this tree integrated — its own upload’s, or the one it
materialised, which is the tree’s whenever the write could apply
it. A chmod moves neither size nor mtime, so the scan compares
the tree’s mode with this (scan::stat_changed); and it publishes
the same bytes under the same etag, so a consume owes an entry
whose cited mode is not this one (cites_mode). A mode the tree
cannot hold (a bit the kernel refuses an unprivileged owner)
scans as a change and publishes what the tree does hold, once.
None compares as “unknown”, as above.
crc64_b64: Option<String>CRC-64/NVME (wire form) of the object bytes this syncer
integrated at this path — computed from the bytes it wrote or
uploaded, never from a HEAD: content convergence compares it, and
it is what lets the manifest carry a CRC for an object whose
backend returns none (Ozone). Every writer sets it; None only on
a baseline from before it existed.
racy: boolThe stat above was taken within scan::RACY_WINDOW_NANOS of the
file’s later stamp (scan::later), so it cannot vouch for the bytes
on its own: the next scan hashes the file before calling it clean
(scan::confirm_racy).
change: Option<ChangeStamp>The file’s ctime and inode as recorded with the stat above
(scan::ChangeStamp): one that moved while size, mtime and mode did
not makes the entry unsure, and its bytes decide. Taken after the
last thing the recording write did to the file (its rename), or the
first scan re-hashes it. None compares as unknown.
Implementations§
Source§impl BaselineEntry
impl BaselineEntry
Sourcepub fn cites_mode(&self, cited: u32) -> bool
pub fn cites_mode(&self, cited: u32) -> bool
Whether cited, a document entry’s mode, is the one this entry
integrated. With the etag, what a consume asks before it skips an
entry: a chmod publishes the same bytes, so the same etag.