Skip to main content

WalDelta

Enum WalDelta 

Source
pub enum WalDelta {
    CreateInode {
        delta_index: u32,
        inode_id: InodeId,
        inode_kind: InodeKind,
    },
    BindDirentry {
        delta_index: u32,
        parent_inode_id: InodeId,
        name_key: NameKey,
        display_name: DisplayName,
        child_inode_id: InodeId,
    },
    UnbindDirentry {
        delta_index: u32,
        parent_inode_id: InodeId,
        name_key: NameKey,
        display_name: DisplayName,
        child_inode_id: InodeId,
        bind_seq: ChangeSeq,
        bind_delta_index: u32,
    },
    AppendFileRevision {
        delta_index: u32,
        inode_id: InodeId,
        revision_no: RevisionNo,
        content_ref: ContentRef,
    },
    TombstoneSubtree {
        delta_index: u32,
        root_inode_id: InodeId,
        deleted_direntry: DeletedDirentry,
    },
    RevokeSubtreeTombstone {
        delta_index: u32,
        root_inode_id: InodeId,
        target: TombstoneGeneration,
    },
    AppendAttributesRevision {
        delta_index: u32,
        inode_id: InodeId,
        attributes_revision_no: AttributeRevisionNo,
        attributes: Attributes,
    },
    AppendAccessRevision {
        delta_index: u32,
        inode_id: InodeId,
        access_revision_no: AccessRevisionNo,
        boundary: bool,
        grants: AccessGrants,
    },
}
Expand description

Records one replayable metadata mutation materialized from a semantic commit operation.

See standard mutation operations.

Variants§

§

CreateInode

Introduces an inode whose identity and kind remain fixed for its lifetime.

Fields

§delta_index: u32

Stable position of this delta within its commit, used in row ordering and identity.

§inode_id: InodeId

Newly allocated durable inode identity.

§inode_kind: InodeKind

File-or-directory classification established at creation.

§

BindDirentry

Makes a child reachable under one canonical name in a directory.

Fields

§delta_index: u32

Stable position of this delta within its commit, used to identify the binding.

§parent_inode_id: InodeId

Directory receiving the new name binding.

§name_key: NameKey

Policy-derived lookup key on which directory uniqueness is enforced.

§display_name: DisplayName

User-facing spelling preserved independently of name_key.

§child_inode_id: InodeId

Inode made reachable by the binding.

§

UnbindDirentry

Removes one exact historical directory binding without affecting a later rebind.

Fields

§delta_index: u32

Stable position of this unbind within its commit.

§parent_inode_id: InodeId

Directory from which the binding is removed.

§name_key: NameKey

Canonical lookup key of the binding being removed.

§display_name: DisplayName

User-facing spelling the removed binding carried, so feed consumers see the name a person typed without a second lookup.

§child_inode_id: InodeId

Child identity expected on the targeted binding.

§bind_seq: ChangeSeq

Commit sequence that created the exact binding being removed.

§bind_delta_index: u32

Delta position that disambiguates the binding within bind_seq.

§

AppendFileRevision

Publishes the next immutable content revision of a file inode.

Fields

§delta_index: u32

Stable position of this revision delta within its commit.

§inode_id: InodeId

File inode receiving the revision.

§revision_no: RevisionNo

Monotonic per-file revision number validated against visible history.

§content_ref: ContentRef

Immutable content that must already be durable before publication.

§

TombstoneSubtree

Hides a rooted subtree from snapshots at this delta’s sequence or later.

Fields

§delta_index: u32

Stable position that identifies this tombstone within its commit.

§root_inode_id: InodeId

Inode at the root of the newly hidden subtree.

§deleted_direntry: DeletedDirentry

The binding the delete removed, carried so the deleted name survives on the immortal tombstone row after unbind rows age out.

§

RevokeSubtreeTombstone

Revokes exactly one subtree tombstone — the one recorded at target — making the subtree eligible for visibility again once re-bound. An immutable compensating event, not an in-place row deletion: a later TombstoneSubtree for the same root supersedes the revoke.

Fields

§delta_index: u32

Stable position of this compensating delta within its commit.

§root_inode_id: InodeId

Root inode whose selected tombstone is being revoked.

§target: TombstoneGeneration

The exact tombstone generation this delta compensates.

§

AppendAttributesRevision

Publishes the next attribute revision of one inode, as complete state.

The delta carries the whole resulting map rather than the changes that produced it, so replay never needs an earlier revision to answer what an inode holds. An empty map is a real revision: it is the cleared state, and it hides every earlier map.

Fields

§delta_index: u32

Stable position of this attribute delta within its commit.

§inode_id: InodeId

Inode whose attributes this revision replaces.

§attributes_revision_no: AttributeRevisionNo

Monotonic per-inode attribute revision, exactly one past the revision the update was validated against.

§attributes: Attributes

The inode’s complete attribute map after this update.

§

AppendAccessRevision

Publishes the next access revision of one inode, as complete state.

Like an attribute revision, the delta carries the whole resulting state. A row with no boundary and no grants is a real revision: it is the cleared state, and it hides every earlier row.

Fields

§delta_index: u32

Stable position of this access delta within its commit.

§inode_id: InodeId

Inode whose access state this revision replaces.

§access_revision_no: AccessRevisionNo

Monotonic per-inode access revision, exactly one past the revision the update was validated against.

§boundary: bool

Whether the directory stops inheritance after this update.

§grants: AccessGrants

The inode’s complete direct grants after this update.

Trait Implementations§

Source§

impl Clone for WalDelta

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 WalDelta

Source§

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

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

impl<'de> Deserialize<'de> for WalDelta

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 WalDelta

Source§

impl PartialEq for WalDelta

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 WalDelta

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 WalDelta

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> ErasedDestructor for T
where T: 'static,

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.