#[non_exhaustive]pub struct BundleReport {Show 15 fields
pub fetched: u64,
pub linked: u64,
pub skipped: u64,
pub failed: u64,
pub not_run: u64,
pub reused: u64,
pub reused_bytes: u64,
pub downloaded: u64,
pub paid_bytes: u64,
pub reconstructed: u64,
pub resumed_bytes: u64,
pub spliced_bytes: u64,
pub hints_ignored: u64,
pub failures: Vec<EntryFailure>,
pub warnings: Vec<String>,
}Expand description
What a bundle pull did. Counts are per entry, and fetched, linked,
skipped, reused, failed and not_run add up to the manifest’s entry
count. Every byte total but
Self::paid_bytes is content bytes and leaves out the bao proof
overhead.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.fetched: u64Entries this pull fetched and paid for, one per distinct blob.
linked: u64Entries linked or copied from a blob another path of this pull fetched.
skipped: u64Entries already on disk.
failed: u64Entries that failed (Self::failures).
not_run: u64Entries this pull did not run: another entry ended the pull, or the cancel token fired, before their fetch ended. A rerun runs them.
reused: u64Distinct blobs linked from a byte-identical file already in the output directory, with no download.
reused_bytes: u64The size of those blobs, once each.
downloaded: u64The content bytes this pull fetched and paid for, from entry sizes: a blob counts once, less what it spliced or resumed.
paid_bytes: u64The lane bytes this pull’s vouchers and hash-chain reveals paid for:
how far it grew the claims the nodes can redeem, summed over every lane
(crate::PoolLedger::paid_bytes). These are wire bytes, so they
include the bao proof overhead. Content delivered twice, or paid for and
then dropped after a lane fault, counts each time it is paid. An entry
that fails or is interrupted counts here but not in downloaded; a
later pull resumes its .partial and reports it as resumed_bytes.
reconstructed: u64The bytes written to disk: every landed copy of every blob.
resumed_bytes: u64The bytes of .partial prefixes earlier pulls fetched, which this pull
resumed. Never part of downloaded.
spliced_bytes: u64The bytes spliced from files already on disk. Never downloaded.
hints_ignored: u64Range-dedup hints a fault dropped: a chunk list that does not parse or sum to the file size, or a donor that failed its check.
failures: Vec<EntryFailure>Every failed entry, in manifest order.
warnings: Vec<String>Lines that do not fail the pull: a blob whose size differs from its manifest, or a wallet too short of USDC to top the pool up.
Trait Implementations§
Source§impl Clone for BundleReport
impl Clone for BundleReport
Source§impl Debug for BundleReport
impl Debug for BundleReport
Source§impl Default for BundleReport
impl Default for BundleReport
impl Eq for BundleReport
Source§impl PartialEq for BundleReport
impl PartialEq for BundleReport
impl StructuralPartialEq for BundleReport
Auto Trait Implementations§
impl Freeze for BundleReport
impl RefUnwindSafe for BundleReport
impl Send for BundleReport
impl Sync for BundleReport
impl Unpin for BundleReport
impl UnsafeUnpin for BundleReport
impl UnwindSafe for BundleReport
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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