pub enum PackError {
Show 19 variants
PackfileTooShort,
InvalidMagic,
UnsupportedVersion(u32),
InvalidEntryType(u8),
TooManyObjects(u32),
PackfileTooLarge,
UnexpectedEof,
PackfileCorrupted,
DeltaBaseMissing(String),
DeltaEntryTruncated,
DeltaApply(MkitError),
InvalidObject(MkitError),
NonStorableObject,
TrailingData,
Store(StoreError),
ZstdEntryTruncated,
DecompressedSizeOverCap(usize),
DecompressedSizeMismatch(usize, usize),
ZstdDecompress(String),
}Expand description
Packfile errors. Distinct from MkitError so callers can match on
pack-specific failures (trailer mismatch, base-missing) without
catching every object decode error.
Variants§
PackfileTooShort
InvalidMagic
UnsupportedVersion(u32)
InvalidEntryType(u8)
TooManyObjects(u32)
PackfileTooLarge
UnexpectedEof
PackfileCorrupted
DeltaBaseMissing(String)
DeltaEntryTruncated
DeltaApply(MkitError)
InvalidObject(MkitError)
NonStorableObject
TrailingData
Store(StoreError)
ZstdEntryTruncated
0x03/0x04 payload shorter than its [uncompressed_len]
length-prefix header (SPEC-PACKFILE §3.3, §3.4) — distinct from
DeltaEntryTruncated, which covers the 32-byte base_hash
prefix a 0x04 entry has in front of this.
DecompressedSizeOverCap(usize)
Claimed uncompressed_len exceeds MAX_RAW_OBJECT_SIZE —
rejected before any decompression allocation is attempted
(SPEC-PACKFILE §3.3 bomb-guarding).
DecompressedSizeMismatch(usize, usize)
The zstd frame decompressed successfully but produced a
different byte count than the entry’s claimed
uncompressed_len (SPEC-PACKFILE §3.3 bomb-guarding).
ZstdDecompress(String)
The zstd frame itself is corrupt / not a valid zstd stream.
Trait Implementations§
Source§impl Error for PackError
impl Error for PackError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<StoreError> for PackError
impl From<StoreError> for PackError
Source§fn from(source: StoreError) -> Self
fn from(source: StoreError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for PackError
impl !UnwindSafe for PackError
impl Freeze for PackError
impl Send for PackError
impl Sync for PackError
impl Unpin for PackError
impl UnsafeUnpin for PackError
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> 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