pub enum ObjectValueV56 {
None,
Some,
Object {
kind: ObjectKindV54,
attributes: ObjectAttributesV49,
},
Keys(EncryptionKeysV56),
Attribute {
size: u64,
has_overwrite_extents: bool,
},
Extent(ExtentValueV38),
Child(ChildValue),
Trim,
BytesAndNodes {
bytes: i64,
nodes: i64,
},
ExtendedAttribute(ExtendedAttributeValueV32),
VerifiedAttribute {
size: u64,
fsverity_metadata: FsverityMetadataV50,
},
}Variants§
None
Some keys have no value (this often indicates a tombstone of some sort). Records with this value are always filtered when a major compaction is performed, so the meaning must be the same as if the item was not present.
Some
Some keys have no value but need to differentiate between a present value and no value (None) i.e. their value is really a boolean: None => false, Some => true.
Object
The value for an ObjectKey::Object record.
Keys(EncryptionKeysV56)
Specifies encryption keys to use for an object.
Attribute
An attribute associated with a file object. |size| is the size of the attribute in bytes.
Extent(ExtentValueV38)
An extent associated with an object.
Child(ChildValue)
A child of an object.
Trim
Graveyard entries can contain these entries which will cause a file that has extents beyond EOF to be trimmed at mount time. This is used in cases where shrinking a file can exceed the bounds of a single transaction.
BytesAndNodes
Added to support tracking Project ID usage and limits.
ExtendedAttribute(ExtendedAttributeValueV32)
A value for an extended attribute. Either inline or a redirection to an attribute with extents.
VerifiedAttribute
An attribute associated with a verified file object. |size| is the size of the attribute in bytes.
Implementations§
Source§impl ObjectValueV56
impl ObjectValueV56
Sourcepub fn file(
refs: u64,
allocated_size: u64,
creation_time: Timestamp,
modification_time: Timestamp,
access_time: Timestamp,
change_time: Timestamp,
project_id: Option<ProjectId>,
posix_attributes: Option<PosixAttributes>,
) -> ObjectValue
pub fn file( refs: u64, allocated_size: u64, creation_time: Timestamp, modification_time: Timestamp, access_time: Timestamp, change_time: Timestamp, project_id: Option<ProjectId>, posix_attributes: Option<PosixAttributes>, ) -> ObjectValue
Creates an ObjectValue for a file object.
pub fn keys(encryption_keys: EncryptionKeys) -> ObjectValue
Sourcepub fn attribute(size: u64, has_overwrite_extents: bool) -> ObjectValue
pub fn attribute(size: u64, has_overwrite_extents: bool) -> ObjectValue
Creates an ObjectValue for an object attribute.
Sourcepub fn verified_attribute(
size: u64,
fsverity_metadata: FsverityMetadata,
) -> ObjectValue
pub fn verified_attribute( size: u64, fsverity_metadata: FsverityMetadata, ) -> ObjectValue
Creates an ObjectValue for an object attribute of a verified file.
Sourcepub fn extent(device_offset: u64, key_id: u64) -> ObjectValue
pub fn extent(device_offset: u64, key_id: u64) -> ObjectValue
Creates an ObjectValue for an insertion/replacement of an object extent.
Sourcepub fn extent_with_checksum(
device_offset: u64,
checksum: Checksums,
key_id: u64,
) -> ObjectValue
pub fn extent_with_checksum( device_offset: u64, checksum: Checksums, key_id: u64, ) -> ObjectValue
Creates an ObjectValue for an insertion/replacement of an object extent.
Sourcepub fn deleted_extent() -> ObjectValue
pub fn deleted_extent() -> ObjectValue
Creates an ObjectValue for a deletion of an object extent.
Sourcepub fn child(object_id: u64, object_descriptor: ObjectDescriptor) -> ObjectValue
pub fn child(object_id: u64, object_descriptor: ObjectDescriptor) -> ObjectValue
Creates an ObjectValue for an object child.
Sourcepub fn symlink(
link: impl Into<Box<[u8]>>,
creation_time: Timestamp,
modification_time: Timestamp,
project_id: Option<ProjectId>,
) -> ObjectValue
pub fn symlink( link: impl Into<Box<[u8]>>, creation_time: Timestamp, modification_time: Timestamp, project_id: Option<ProjectId>, ) -> ObjectValue
Creates an ObjectValue for an object symlink.
Sourcepub fn encrypted_symlink(
link: impl Into<Box<[u8]>>,
creation_time: Timestamp,
modification_time: Timestamp,
project_id: Option<ProjectId>,
) -> ObjectValue
pub fn encrypted_symlink( link: impl Into<Box<[u8]>>, creation_time: Timestamp, modification_time: Timestamp, project_id: Option<ProjectId>, ) -> ObjectValue
Creates an ObjectValue for an encrypted symlink object.
pub fn inline_extended_attribute(value: impl Into<Vec<u8>>) -> ObjectValue
pub fn extended_attribute(attribute_id: AttributeId) -> ObjectValue
Trait Implementations§
Source§impl Clone for ObjectValueV56
impl Clone for ObjectValueV56
Source§fn clone(&self) -> ObjectValueV56
fn clone(&self) -> ObjectValueV56
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObjectValueV56
impl Debug for ObjectValueV56
Source§impl<'de> Deserialize<'de> for ObjectValueV56
impl<'de> Deserialize<'de> for ObjectValueV56
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<ObjectValueV40> for ObjectValueV56
impl From<ObjectValueV40> for ObjectValueV56
Source§fn from(item: ObjectValueV40) -> Self
fn from(item: ObjectValueV40) -> Self
Source§impl From<ObjectValueV41> for ObjectValueV56
impl From<ObjectValueV41> for ObjectValueV56
Source§fn from(item: ObjectValueV41) -> Self
fn from(item: ObjectValueV41) -> Self
Source§impl From<ObjectValueV46> for ObjectValueV56
impl From<ObjectValueV46> for ObjectValueV56
Source§fn from(item: ObjectValueV46) -> Self
fn from(item: ObjectValueV46) -> Self
Source§impl From<ObjectValueV47> for ObjectValueV56
impl From<ObjectValueV47> for ObjectValueV56
Source§fn from(item: ObjectValueV47) -> Self
fn from(item: ObjectValueV47) -> Self
Source§impl From<ObjectValueV49> for ObjectValueV56
impl From<ObjectValueV49> for ObjectValueV56
Source§fn from(item: ObjectValueV49) -> Self
fn from(item: ObjectValueV49) -> Self
Source§impl From<ObjectValueV50> for ObjectValueV56
impl From<ObjectValueV50> for ObjectValueV56
Source§fn from(item: ObjectValueV50) -> Self
fn from(item: ObjectValueV50) -> Self
Source§impl From<ObjectValueV54> for ObjectValueV56
impl From<ObjectValueV54> for ObjectValueV56
Source§fn from(from: ObjectValueV54) -> Self
fn from(from: ObjectValueV54) -> Self
Source§impl PartialEq for ObjectValueV56
impl PartialEq for ObjectValueV56
Source§fn eq(&self, other: &ObjectValueV56) -> bool
fn eq(&self, other: &ObjectValueV56) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ObjectValueV56
impl Serialize for ObjectValueV56
impl StructuralPartialEq for ObjectValueV56
Source§impl TypeFingerprint for ObjectValueV56
impl TypeFingerprint for ObjectValueV56
fn fingerprint() -> String
Source§impl Versioned for ObjectValueV56
impl Versioned for ObjectValueV56
Source§fn max_serialized_size() -> Option<u64>
fn max_serialized_size() -> Option<u64>
fn deserialize_from<R>(reader: &mut R, _version: Version) -> Result<Self>
fn serialize_into<W>(&self, writer: &mut W) -> Result<()>
Source§impl VersionedLatest for ObjectValueV56
impl VersionedLatest for ObjectValueV56
Source§fn deserialize_from_version<R>(reader: &mut R, version: Version) -> Result<Self>
fn deserialize_from_version<R>(reader: &mut R, version: Version) -> Result<Self>
Auto Trait Implementations§
impl Freeze for ObjectValueV56
impl RefUnwindSafe for ObjectValueV56
impl Send for ObjectValueV56
impl Sync for ObjectValueV56
impl Unpin for ObjectValueV56
impl UnsafeUnpin for ObjectValueV56
impl UnwindSafe for ObjectValueV56
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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,
§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
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