pub struct ClosureReport {
pub root: Hash,
pub mode: ClosureMode,
pub verified: usize,
pub missing: Vec<Hash>,
pub corrupt: Vec<(Hash, String)>,
pub unreferenced: Vec<Hash>,
pub unreferenced_checked: bool,
}Expand description
Outcome of walking a supplied object set from root in mode.
Fields§
§root: HashThe id the walk started from.
mode: ClosureModeWalk mode used.
verified: usizeObjects whose id was recomputed and that were reachable from root.
missing: Vec<Hash>Referenced by a reachable object but not supplied, sorted.
corrupt: Vec<(Hash, String)>Bytes that failed to deserialize or whose derived id did not match
the requested id, sorted by reported id. The map path keys decode
failures by BLAKE3 of the supplied bytes and preserves the
missing + unreferenced result for parsable bit flips; a streaming
fetch-by-id path reports either failure under the requested id.
unreferenced: Vec<Hash>Supplied (and successfully identified) but not reachable from
root, sorted. A DA provider may legitimately serve a superset;
this field is reported, not an error.
unreferenced_checked: boolWhether the verifier could enumerate every supplied object to compute
Self::unreferenced. Streaming sources set this to false and
leave that list empty; map- and pack-backed paths set it to true.
Implementations§
Source§impl ClosureReport
impl ClosureReport
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Complete iff nothing referenced is missing or corrupt. Unreferenced extras do not fail completeness.
Trait Implementations§
Source§impl Clone for ClosureReport
impl Clone for ClosureReport
Source§impl Debug for ClosureReport
impl Debug for ClosureReport
impl Eq for ClosureReport
Source§impl PartialEq for ClosureReport
impl PartialEq for ClosureReport
impl StructuralPartialEq for ClosureReport
Auto Trait Implementations§
impl Freeze for ClosureReport
impl RefUnwindSafe for ClosureReport
impl Send for ClosureReport
impl Sync for ClosureReport
impl Unpin for ClosureReport
impl UnsafeUnpin for ClosureReport
impl UnwindSafe for ClosureReport
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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