pub enum RangeVerifyError {
RangeOutOfBounds {
offset: u64,
len: u64,
blob_size: u64,
},
OutboardSize {
expected: usize,
got: usize,
blob_size: u64,
},
RangeDataSize {
expected: u64,
got: usize,
blob_size: u64,
},
Verification {
source: EncodeError,
},
}Expand description
Errors from preparing a verified origin range pull.
Variants§
RangeOutOfBounds
byte_offset is at or past a non-empty blob’s end, or (for the empty
blob) the request is not (0, 0). align_range also raises this when
byte_offset + byte_len runs past the blob or overflows, rejecting the
request; align_range_clamped clamps that same case to the blob’s end
instead of raising it.
Fields
OutboardSize
The supplied outboard is not the length a blob_size-byte blob’s
pre-order outboard must be — the origin served a malformed {H}.obao4.
Fields
RangeDataSize
range_data is not exactly the aligned fetch window’s length — the origin
served a 206 whose body is shorter or longer than [fetch_start, fetch_end)
(e.g. a corrupt/extra tail). Rejected rather than silently ignoring the
surplus (or short-reading the deficit) inside the offset-mapped reader.
Fields
Verification
The fetched range or the outboard did not verify against the wanted root
H — a tampered range, a tampered/foreign outboard, or a wrong root.
Carries the bao codec’s typed cause so a caller can distinguish an
integrity failure (ParentHashMismatch / LeafHashMismatch — do not
retry) from a truncated origin response (Io short read — retryable).
Fields
source: EncodeErrorUnderlying bao codec rejection.
Trait Implementations§
Source§impl Debug for RangeVerifyError
impl Debug for RangeVerifyError
Source§impl Display for RangeVerifyError
impl Display for RangeVerifyError
Source§impl Error for RangeVerifyError
impl Error for RangeVerifyError
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()