pub enum ObjectKeyDataV54 {
Object,
Keys,
Attribute(u64, AttributeKeyV32),
Child {
name: String,
},
GraveyardEntry {
object_id: u64,
},
Project {
project_id: u64,
property: ProjectPropertyV32,
},
ExtendedAttribute {
name: Vec<u8>,
},
GraveyardAttributeEntry {
object_id: u64,
attribute_id: u64,
},
EncryptedCasefoldChild(EncryptedCasefoldChild),
LegacyCasefoldChild(CasefoldString),
EncryptedChild(EncryptedChild),
CasefoldChild {
hash_code: u32,
name: String,
},
}Variants§
Object
A generic, untyped object. This must come first and sort before all other keys for a given object because it’s also used as a tombstone and it needs to merge with all following keys.
Keys
Encryption keys for an object.
Attribute(u64, AttributeKeyV32)
An attribute associated with an object. It has a 64-bit ID.
Child
A child of a directory.
GraveyardEntry
A graveyard entry for an entire object.
Project
Project ID info. This should only be attached to the volume’s root node. Used to address the
configured limit and the usage tracking which are ordered after the project_id to provide
locality of the two related values.
ExtendedAttribute
An extended attribute associated with an object. It stores the name used for the extended attribute, which has a maximum size of 255 bytes enforced by fuchsia.io.
GraveyardAttributeEntry
A graveyard entry for an attribute.
EncryptedCasefoldChild(EncryptedCasefoldChild)
A child of an encrypted directory. We store the filename in its encrypted form. hash_code
is the hash of the casefolded human-readable name if a directory is also casefolded. In
some legacy cases, this is also used in non-casefolded cases, and in some of those cases the
hash code can be 0. Going forward, these cases are covered by EncryptedChild below.
LegacyCasefoldChild(CasefoldString)
Case-insensitive child (legacy).
EncryptedChild(EncryptedChild)
An encrypted child that does not use case folding.
CasefoldChild
A child of a directory that uses the casefold feature. (i.e. case insensitive, case preserving names)
Trait Implementations§
Source§impl Clone for ObjectKeyDataV54
impl Clone for ObjectKeyDataV54
Source§fn clone(&self) -> ObjectKeyDataV54
fn clone(&self) -> ObjectKeyDataV54
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObjectKeyDataV54
impl Debug for ObjectKeyDataV54
Source§impl<'de> Deserialize<'de> for ObjectKeyDataV54
impl<'de> Deserialize<'de> for ObjectKeyDataV54
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>,
Source§impl From<ObjectKeyDataV43> for ObjectKeyDataV54
impl From<ObjectKeyDataV43> for ObjectKeyDataV54
Source§fn from(item: ObjectKeyDataV43) -> Self
fn from(item: ObjectKeyDataV43) -> Self
Source§impl Hash for ObjectKeyDataV54
impl Hash for ObjectKeyDataV54
Source§impl Ord for ObjectKeyDataV54
impl Ord for ObjectKeyDataV54
Source§fn cmp(&self, other: &ObjectKeyDataV54) -> Ordering
fn cmp(&self, other: &ObjectKeyDataV54) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ObjectKeyDataV54
impl PartialEq for ObjectKeyDataV54
Source§impl PartialOrd for ObjectKeyDataV54
impl PartialOrd for ObjectKeyDataV54
Source§impl Serialize for ObjectKeyDataV54
impl Serialize for ObjectKeyDataV54
Source§impl TypeFingerprint for ObjectKeyDataV54
impl TypeFingerprint for ObjectKeyDataV54
fn fingerprint() -> String
impl Eq for ObjectKeyDataV54
impl StructuralPartialEq for ObjectKeyDataV54
Auto Trait Implementations§
impl Freeze for ObjectKeyDataV54
impl RefUnwindSafe for ObjectKeyDataV54
impl Send for ObjectKeyDataV54
impl Sync for ObjectKeyDataV54
impl Unpin for ObjectKeyDataV54
impl UnsafeUnpin for ObjectKeyDataV54
impl UnwindSafe for ObjectKeyDataV54
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
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> 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