Skip to main content

CasError

Enum CasError 

Source
pub enum CasError {
    BlobNotFound(String),
    HashMismatch {
        expected: String,
        actual: String,
    },
    LockPoisoned(String),
    Io(Error),
    CompressionError(String),
    DecompressionError(String),
    DecompressionTooLarge {
        max: usize,
    },
    AlreadyExists(String),
    InvalidPath(String),
    Pack(PackError),
    GcPathEscape(String),
    TaskJoin(String),
}
Expand description

Errors that can occur during CAS operations.

Variants§

§

BlobNotFound(String)

The requested blob does not exist in the store (loose or packed).

§

HashMismatch

The stored bytes did not hash to the requested address.

Fields

§expected: String

The hash the blob was addressed by.

§actual: String

The hash of what was actually read back.

§

LockPoisoned(String)

A mutex protecting interior cache state was poisoned.

§

Io(Error)

An underlying filesystem operation failed.

§

CompressionError(String)

Zstd compression failed (requires the zstd feature).

§

DecompressionError(String)

Zstd decompression failed (requires the zstd feature).

§

DecompressionTooLarge

Decompressed data exceeded the configured safety limit (zip-bomb protection).

Fields

§max: usize

The maximum accepted decompressed size in bytes.

§

AlreadyExists(String)

crate::store::BlobStore::put_blob_new was called for an existing blob.

§

InvalidPath(String)

A derived path was not usable (e.g. malformed hex on disk).

§

Pack(PackError)

A packfile operation failed.

§

GcPathEscape(String)

A garbage-collection sweep was asked to trash or delete a path outside the store root (internal invariant violation).

§

TaskJoin(String)

A spawn_blocking task joined by an async GC wrapper panicked or the tokio runtime was already shut down (requires the tokio feature).

Trait Implementations§

Source§

impl Debug for CasError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CasError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for CasError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for CasError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<PackError> for CasError

Source§

fn from(source: PackError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.