Skip to main content

BaselineEntry

Struct BaselineEntry 

Source
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: bool

The 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

Source

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.

Trait Implementations§

Source§

impl Clone for BaselineEntry

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BaselineEntry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for BaselineEntry

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for BaselineEntry

Source§

impl PartialEq for BaselineEntry

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for BaselineEntry

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for BaselineEntry

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.