pub struct FileMeta {
pub versions: Vec<FileMetaShallowVersion>,
pub data: InlineData,
pub meta_ver: u8,
}
Fields§
§versions: Vec<FileMetaShallowVersion>
§data: InlineData
§meta_ver: u8
Implementations§
Source§impl FileMeta
impl FileMeta
pub fn new() -> Self
pub fn is_xl2_v1_format(buf: &[u8]) -> bool
pub fn load(buf: &[u8]) -> Result<FileMeta>
pub fn check_xl2_v1(buf: &[u8]) -> Result<(&[u8], u16, u16)>
pub fn read_bytes_header(buf: &[u8]) -> Result<(u32, &[u8])>
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64>
pub fn is_latest_delete_marker(buf: &[u8]) -> bool
pub fn marshal_msg(&self) -> Result<Vec<u8>>
pub fn find_version( &self, vid: Option<Uuid>, ) -> Result<(usize, FileMetaVersion)>
pub fn shard_data_dir_count( &self, vid: &Option<Uuid>, data_dir: &Option<Uuid>, ) -> usize
pub fn update_object_version(&mut self, fi: FileInfo) -> Result<()>
pub fn add_version(&mut self, fi: FileInfo) -> Result<()>
pub fn add_version_filemata(&mut self, ver: FileMetaVersion) -> Result<()>
pub fn delete_version(&mut self, fi: &FileInfo) -> Result<Option<Uuid>>
pub fn into_fileinfo( &self, volume: &str, path: &str, version_id: &str, read_data: bool, all_parts: bool, ) -> Result<FileInfo>
pub fn into_file_info_versions( &self, volume: &str, path: &str, all_parts: bool, ) -> Result<FileInfoVersions>
pub fn lastest_mod_time(&self) -> Option<OffsetDateTime>
Sourcepub fn is_compatible_with_meta(&self) -> bool
pub fn is_compatible_with_meta(&self) -> bool
Check if the metadata format is compatible
Sourcepub fn validate_integrity(&self) -> Result<()>
pub fn validate_integrity(&self) -> Result<()>
Validate metadata integrity
Sourcepub fn get_version_stats(&self) -> VersionStats
pub fn get_version_stats(&self) -> VersionStats
Get statistics about versions
Sourcepub fn load_or_convert(buf: &[u8]) -> Result<Self>
pub fn load_or_convert(buf: &[u8]) -> Result<Self>
Load or convert from buffer
Sourcepub fn load_legacy(_buf: &[u8]) -> Result<Self>
pub fn load_legacy(_buf: &[u8]) -> Result<Self>
Load legacy format
Sourcepub fn get_data_dirs(&self) -> Result<Vec<Option<Uuid>>>
pub fn get_data_dirs(&self) -> Result<Vec<Option<Uuid>>>
Get all data directories used by versions
Count shared data directories
Sourcepub fn add_legacy(&mut self, _legacy_obj: &str) -> Result<()>
pub fn add_legacy(&mut self, _legacy_obj: &str) -> Result<()>
Add legacy version
Sourcepub fn list_versions(
&self,
volume: &str,
path: &str,
all_parts: bool,
) -> Result<Vec<FileInfo>>
pub fn list_versions( &self, volume: &str, path: &str, all_parts: bool, ) -> Result<Vec<FileInfo>>
List all versions as FileInfo
Check if all versions are hidden
Sourcepub fn find_version_str(
&self,
version_id: &str,
) -> Result<(usize, FileMetaVersion)>
pub fn find_version_str( &self, version_id: &str, ) -> Result<(usize, FileMetaVersion)>
Find version by string ID
Source§impl FileMeta
impl FileMeta
Sourcepub fn get_detailed_version_stats(&self) -> DetailedVersionStats
pub fn get_detailed_version_stats(&self) -> DetailedVersionStats
Get detailed statistics about versions
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FileMeta
impl<'de> Deserialize<'de> for FileMeta
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>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for FileMeta
Auto Trait Implementations§
impl Freeze for FileMeta
impl RefUnwindSafe for FileMeta
impl Send for FileMeta
impl Sync for FileMeta
impl Unpin for FileMeta
impl UnwindSafe for FileMeta
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
Mutably borrows from an owned value. Read more