pub enum KeyKind {
DirScatter(Uuid),
RenameIntent,
ReclaimIntent,
LinkIntent,
UnrefMarker(Uuid),
InlineBlob(Uuid),
Other,
}Expand description
What an S3 object key denotes within a tree, as classified by
HyperDirLayout::classify_key. Lets an external maintainer (e.g.
hyperfs-keeper) route an S3 event / Inventory key to the right action
without re-encoding the physical layout.
Variants§
DirScatter(Uuid)
A directory scatter object DIR/<uuid>/!/.../*.{inode,tombstone}
(a pending create/update/delete). Carries the directory’s UUID, the
compaction target.
RenameIntent
A cross-directory rename intent _TXN/<ulid>.intent.
ReclaimIntent
A displaced-child reclaim intent _TXN/<ulid>.reclaim.
LinkIntent
A hard-link intent _TXN/<ulid>.link (recover a crashed fs_link).
UnrefMarker(Uuid)
A nlink-decrement marker FILE/<uuid>/*.unref (rename replaced one of
the file’s hard links). Carries the file’s UUID, the reclaim candidate.
InlineBlob(Uuid)
A second-level inline (“blob”) version object FILE/<uuid>/<ulid>.blob
(see docs/second-level-inline.md). Carries the file’s UUID; the
version GC / orphan sweep reclaim candidate.
Other
Anything else under this tree (inode/segment/xattr/lease/lock/…).
Trait Implementations§
impl Eq for KeyKind
impl StructuralPartialEq for KeyKind
Auto Trait Implementations§
impl Freeze for KeyKind
impl RefUnwindSafe for KeyKind
impl Send for KeyKind
impl Sync for KeyKind
impl Unpin for KeyKind
impl UnsafeUnpin for KeyKind
impl UnwindSafe for KeyKind
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more