pub struct FileEntry {
pub path: PathBuf,
pub content_hash: String,
pub size: u64,
pub permissions: u32,
pub modified: DateTime<Utc>,
pub is_compressed: bool,
pub metadata_hash: String,
pub combined_hash: String,
pub is_symlink: bool,
pub symlink_target: Option<PathBuf>,
pub is_directory: bool,
}Expand description
Represents a file entry in a checkpoint manifest
Contains all necessary information to restore a file to its exact state, including content hash, permissions, and metadata.
§Examples
let entry = FileEntry {
path: PathBuf::from("src/main.rs"),
content_hash: "abc123...".to_string(),
size: 1024,
permissions: 0o644,
modified: Utc::now(),
is_compressed: true,
metadata_hash: "def456...".to_string(),
combined_hash: "ghi789...".to_string(),
is_symlink: false,
symlink_target: None,
is_directory: false,
};Fields§
§path: PathBufRelative path from the root directory
content_hash: StringSHA-256 hash of file content
size: u64File size in bytes
permissions: u32Unix file permissions
modified: DateTime<Utc>Last modified timestamp
is_compressed: boolWhether the file is compressed in storage
metadata_hash: StringHash of file metadata (permissions, timestamps, etc.)
combined_hash: StringCombined hash of content and metadata
is_symlink: boolWhether this is a symbolic link
symlink_target: Option<PathBuf>Target of symbolic link (if is_symlink is true)
is_directory: boolWhether this is a directory
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FileEntry
impl<'de> Deserialize<'de> for FileEntry
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 Eq for FileEntry
impl StructuralPartialEq for FileEntry
Auto Trait Implementations§
impl Freeze for FileEntry
impl RefUnwindSafe for FileEntry
impl Send for FileEntry
impl Sync for FileEntry
impl Unpin for FileEntry
impl UnsafeUnpin for FileEntry
impl UnwindSafe for FileEntry
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
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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