Skip to main content

ReadingError

Enum ReadingError 

Source
pub enum ReadingError {
    FailedToReadChunk {
        chunk_location: u64,
        error: Error,
    },
    PosProofsMismatch {
        piece_offset: PieceOffset,
    },
    FailedToErasureDecodeRecord {
        piece_offset: PieceOffset,
        error: ErasureCodingError,
    },
    WrongRecordSizeAfterDecoding {
        expected: usize,
        actual: usize,
    },
    FailedToDecodeSectorContentsMap(SectorContentsMapFromBytesError),
    Io(Error),
    ChecksumMismatch,
}
Expand description

Errors that happen during reading

Variants§

§

FailedToReadChunk

Failed to read chunk.

This is an implementation bug, most likely due to mismatch between sector contents map and other farming parameters.

Fields

§chunk_location: u64

Chunk location

§error: Error

Low-level error

§

PosProofsMismatch

PoS proofs don’t match the sector contents map.

Either the sector contents map has no entry for the record, or the record’s chunks in it are not at exactly the s-buckets that have proofs. There is no entry when the piece offset is outside of the sector. Chunks at other s-buckets usually mean that the sector doesn’t match its metadata, so proofs are created for a different sector ID than the one the sector was plotted with.

Fields

§piece_offset: PieceOffset

Piece offset

§

FailedToErasureDecodeRecord

Failed to erasure-decode record

Fields

§piece_offset: PieceOffset

Piece offset

§error: ErasureCodingError

Lower-level error

§

WrongRecordSizeAfterDecoding

Wrong record size after decoding

Fields

§expected: usize

Expected size in bytes

§actual: usize

Actual size in bytes

§

FailedToDecodeSectorContentsMap(SectorContentsMapFromBytesError)

Failed to decode sector contents map

§

Io(Error)

I/O error occurred

§

ChecksumMismatch

Checksum mismatch

Implementations§

Source§

impl ReadingError

Source

pub fn is_fatal(&self) -> bool

Whether this error is fatal and renders farm unusable

Trait Implementations§

Source§

impl Debug for ReadingError

Source§

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

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

impl Display for ReadingError

Source§

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

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

impl Error for ReadingError

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 ReadingError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<ReadingError> for ProvingError

Source§

fn from(source: ReadingError) -> Self

Converts to this type from the input type.
Source§

impl From<SectorContentsMapFromBytesError> for ReadingError

Source§

fn from(source: SectorContentsMapFromBytesError) -> 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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more