pub struct StatObservation {
pub path: String,
pub object_hash: Hash,
pub mtime_ns: u64,
pub size: u64,
pub ino: u64,
pub ctime_ns: u64,
}Expand description
A hash-time stat observation: while building a tree we re-hashed
path (its cache was absent or racy-smudged) and the result equals
the staging index’s hash — so the stat captured from the OPENED file
descriptor before its content was read proves the entry clean.
status consumes these to heal the stat cache without ever pairing
a post-verification stat with a pre-verification hash (the unsound
verify-then-stat order).
Fields§
§path: StringRepo-relative path, /-separated (index path form).
object_hash: HashThe content hash the re-hash produced (== the index entry’s).
mtime_ns: u64Stat fields captured from the opened fd before the read, in
stat_cache_fields order.
size: u64§ino: u64§ctime_ns: u64Trait Implementations§
Source§impl Clone for StatObservation
impl Clone for StatObservation
Source§fn clone(&self) -> StatObservation
fn clone(&self) -> StatObservation
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StatObservation
impl Debug for StatObservation
impl Eq for StatObservation
Source§impl PartialEq for StatObservation
impl PartialEq for StatObservation
Source§fn eq(&self, other: &StatObservation) -> bool
fn eq(&self, other: &StatObservation) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for StatObservation
Auto Trait Implementations§
impl Freeze for StatObservation
impl RefUnwindSafe for StatObservation
impl Send for StatObservation
impl Sync for StatObservation
impl Unpin for StatObservation
impl UnsafeUnpin for StatObservation
impl UnwindSafe for StatObservation
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,
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§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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