IntegrityErr

Enum IntegrityErr 

Source
pub enum IntegrityErr {
    Other(ReadWriteError),
    Corruption(u64, ComponentTag),
    InvalidBlockStructure {
        start_of_bad_component: u64,
    },
    FileConfigMisMatch,
}

Variants§

§

Other(ReadWriteError)

§

Corruption(u64, ComponentTag)

This only returns if a Component Header (or hash) is corrupted. We cannot process the file any farther. We only read Front to Back so the position is all the farther we checked the file. The file may still be able to succeed at tail recovery if this corruption is earlier than the second to last block. If found in the last block, then a tail recovery would truncate this block. Integrity check handles the last block, so if you have this error then somehow part of the file got corrupted, badly.

§

InvalidBlockStructure

This is really an implementation error, where we find the wrong ‘pattern’ of headers. This should only occur in testing ideally.

Fields

§start_of_bad_component: u64
§

FileConfigMisMatch

Either the MAGIC_NUMBER, the V1 tag, or the ECC_LEN don’t match this compiled program. Most likely would happen if you upgraded or have multiple docufort wrappers that use a different ECC_LEN You should only open docufort files that were written with the current compiled software.

Trait Implementations§

Source§

impl Debug for IntegrityErr

Source§

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

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

impl Display for IntegrityErr

Source§

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

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

impl Error for IntegrityErr

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 IntegrityErr

Source§

fn from(value: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ReadWriteError> for IntegrityErr

Source§

fn from(value: ReadWriteError) -> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.